Tässä artikkelissa ratkaisemme sivuston 25. tehtävän
organisaatiotiedotErityisesti niille, jotka haluavat oppia jotain uutta ja kehittyä millä tahansa tieto- ja tietokoneturvallisuuden alueella, kirjoitan ja puhun seuraavista kategorioista:
- mäntyankeroinen;
- kryptografia (Crypto);
- verkkoteknologiat (verkko);
- kääntää (Reverse Engineering);
- steganografia (Stegano);
- WEB-haavoittuvuuksien etsiminen ja hyödyntäminen.
Lisäksi jaan kokemukseni tietokonerikosteknisestä, haittaohjelmien ja laiteohjelmistojen analysoinnista, hyökkäyksistä langattomiin verkkoihin ja lähiverkkoihin, pentestaamisesta ja kirjoittamisesta.
Jotta voit saada tietoa uusista artikkeleista, ohjelmistoista ja muista tiedoista, loin
Kaikki tiedot on tarkoitettu vain koulutustarkoituksiin. Tämän asiakirjan kirjoittaja ei ota vastuuta mistään vahingoista, jotka aiheutuvat kenellekään tämän asiakirjan tutkimisen tuloksena saatujen tietojen ja menetelmien käytöstä.
otp-tehtävän ratkaiseminen
Jatkamme toisella jaksolla. Sanon heti, että se on vaikeampi kuin ensimmäinen, mutta tällä kertaa he eivät tarjoa ohjelman lähdekoodia. Älä unohda keskustelua täällä (https://t.me/RalfHackerPublicChat) ja täällä (https://t.me/RalfHackerChannel). Aloitetaan.
Napsauta kuvaketta, jossa on allekirjoitus otp. Meille annetaan osoite ja portti, johon voimme muodostaa yhteyden.
Yhdistämme ja katsomme ympärillesi palvelimella.
Lippu, jota emme voi lukea, on ohjelma ja sen lähdekoodi. Katsotaanpa lähdettä.
Otetaan se ylös. Ohjelma ottaa salasanan argumenttina.
Lisäksi satunnaiset 16 tavua tallennetaan otp-muuttujaan.
Tmp-kansioon luodaan satunnaisenniminen tiedosto (ensimmäiset 8 tavua ovat otp) ja siihen kirjoitetaan satunnaiset 8 tavua (toiset 8 tavua ovat otp).
Jostain syystä luodun tiedoston arvo luetaan ja sitä verrataan annettuun salasanaan.
Tässä on haavoittuvuus. Se koostuu luodun numeron välitallentamisesta tiedostoon. Voimme rajoittaa tiedostokoon esim. 0:aan, jolloin kirjoitettaessa ja luettaessa verrataan salasanaan 0. Voit tehdä sen näin.
# ulimit -f 0
Suoritetaan nyt ohjelma.
Saamme virheilmoituksen. Sillä ei ole väliä, se voidaan käsitellä samalla pythonilla.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Saamme lipun ja helpot 100 pistettä. Ja jatkamme: seuraavassa artikkelissa käsittelemme verkkoa. Voit liittyä meihin osoitteessa
Lähde: will.com