Selles artiklis lahendame saidilt 25. ülesande
Organisatsiooniline teaveEriti neile, kes soovivad õppida midagi uut ja areneda mis tahes teabe- ja arvutiturbe valdkonnas, kirjutan ja räägin järgmistest kategooriatest:
- PWN;
- krüptograafia (Crypto);
- võrgutehnoloogiad (Network);
- tagurpidi (Reverse Engineering);
- steganograafia (Stegano);
- WEBi haavatavuste otsimine ja ärakasutamine.
Lisaks sellele jagan oma kogemusi arvutite ekspertiiside, pahavara ja püsivara analüüside, traadita võrkude ja kohtvõrkude rünnakute, pentestide ja rünnakute kirjutamise alal.
Olen loonud, et aidata teil olla kursis uute artiklite, tarkvara ja muu teabega
Kogu teave on esitatud ainult hariduslikel eesmärkidel. Selle dokumendi autor ei võta endale mingit vastutust kahju eest, mis on kellelegi tekitatud selle dokumendi uurimisel saadud teadmiste ja tehnikate kasutamise tõttu.
otp ülesande lahendamine
Jätkame teise lõiguga. Ütlen kohe, et see on keerulisem kui esimene, kuid seekord ei paku nad programmi lähtekoodi. Ärge unustage arutelu siin (https://t.me/RalfHackerPublicChat) ja siin (https://t.me/RalfHackerChannel). Alustagem.
Klõpsake allkirjaga otp ikooni. Meile antakse aadress ja port, millega ühenduse luua.
Ühendame ja vaatame serveris ringi.
Lipp, mida me ei saa lugeda, programm ja selle lähtekood. Vaatame allikat.
Teeme asja korda. Programm võtab argumendina parooli.
Järgmisena salvestatakse otp muutujasse juhuslikud 16 baiti.
Tmp kausta luuakse juhusliku nimega fail (esimesed 8 baiti on otp) ja sinna kirjutatakse juhuslikud 8 baiti (teised 8 baiti on otp).
Mingil põhjusel loetakse loodud faili väärtust ja võrreldakse seda sisestatud parooliga.
Siin tulebki haavatavus sisse. See seisneb genereeritud numbri vahepealses faili salvestamises. Faili suurust saame piirata näiteks 0-ni, siis kirjutamisel ja lugemisel võrreldakse parooliga 0. Seda saab teha nii.
# ulimit -f 0
Nüüd käivitame programmi.
Saame vea. See pole oluline, seda saab töödelda sama pythoniga.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Saame lipu ja meie kerge 100 punkti. Ja jätkame: järgmises artiklis puudutame veebi. Meiega saad liituda aadressil
Allikas: www.habr.com