Šajā rakstā mēs atrisināsim 25. uzdevumu no vietnes
organizatoriskā informācijaĪpaši tiem, kas vēlas apgūt ko jaunu un attīstīties kādā no informācijas un datordrošības jomām, rakstīšu un runāšu par šādām kategorijām:
- PWN;
- kriptogrāfija (kriptogrāfija);
- tīkla tehnoloģijas (Tīkls);
- reversā (Reverse Engineering);
- steganogrāfija (Stegano);
- WEB ievainojamību meklēšana un izmantošana.
Turklāt es dalīšos savā pieredzē par datoru kriminālistikas, ļaunprātīgas programmatūras un programmaparatūras analīzi, uzbrukumiem bezvadu tīkliem un lokālajiem tīkliem, pentestēšanu un rakstīšanas izmantošanu.
Lai jūs varētu uzzināt par jauniem rakstiem, programmatūru un citu informāciju, es izveidoju
Visa informācija tiek sniegta tikai izglītojošiem nolūkiem. Šī dokumenta autors neuzņemas atbildību par jebkādiem zaudējumiem, kas kādam nodarīti, izmantojot zināšanas un metodes, kas iegūtas šī dokumenta izpētē.
otp uzdevuma atrisināšana
Mēs turpinām ar otro sadaļu. Uzreiz teikšu, ka tas ir grūtāks par pirmo, bet šoreiz viņi nesniedz programmas pirmkodu. Neaizmirstiet diskusiju šeit (https://t.me/RalfHackerPublicChat) un šeit (https://t.me/RalfHackerChannel). Sāksim.
Noklikšķiniet uz ikonas ar parakstu otp. Mums tiek dota adrese un ports, ar kuru izveidot savienojumu.
Savienojamies un apskatāmies serverī.
Karogs, kuru mēs nevaram nolasīt, ir programma un tās pirmkods. Apskatīsim avotu.
Paņemsim to. Programma izmanto paroli kā argumentu.
Turklāt otp mainīgajā tiek saglabāti nejauši 16 baiti.
Tmp mapē tiek izveidots fails ar nejaušu nosaukumu (pirmie 8 baiti ir otp) un tajā tiek ierakstīti nejauši 8 baiti (otrie 8 baiti ir otp).
Kādu iemeslu dēļ izveidotā faila vērtība tiek nolasīta un salīdzināta ar ievadīto paroli.
Šeit ir ievainojamība. Tas sastāv no ģenerētā numura starpposma saglabāšanas failā. Faila lielumu varam ierobežot, piemēram, līdz 0, tad rakstot un lasot ar paroli tiks salīdzināts 0. To var izdarīt šādi.
# ulimit -f 0
Tagad palaidīsim programmu.
Mēs saņemam kļūdu. Tas nav svarīgi, to var apstrādāt, izmantojot to pašu python.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Mēs iegūstam karogu un mūsu vieglos 100 punktus. Un mēs turpinām: nākamajā rakstā mēs pieskarsimies tīmeklim. Jūs varat mums pievienoties plkst
Avots: www.habr.com