
Selles artiklis lahendame 25. ülesande saidilt .
Organisatsiooniline teaveEelkõige neile, kes soovivad uusi teadmisi ja soovivad areneda mis tahes infotehnoloogia ja arvutiturbe valdkonnas, kirjutan ja räägin järgmistes kategooriates:
- PWN;
- krüptograafia (Crypto);
- võrgutehnoloogiad (Network);
- reversing (Reverse Engineering);
- steganograafia (Stegano);
- veebivõrkude haavatavuste otsing ja ärakasutamine.
Lisaks jagan oma kogemusi arvutikriminaalistikas, pahavara ja kinnistete analüüsis, traadita ja kohalikest võrkudest rünnakutes, pentestide läbiviimises ja eksploitide kirjutamises.
Kuna saaksite teada uutest artiklitest, tarkvarast ja muust teabest, olen loonud ja infotehnoloogia ja küberturbe valdkonnas. Samuti vaatan teie isiklikke palveid, küsimusi, ettepanekuid ja soovitusi .
Kogu teave on esitatud ainult hariduslikel eesmärkidel. Selle dokumendi autor ei vastuta mitte mingite kahjude eest, mis võidakse kellelegi tekitada selle dokumendi kaudu saadud teadmiste ja meetodite kasutamise tulemusena.
Ülesande otp lahendus
Jätkame teise peatükiga. Ütlen kohe, et see on keerulisem kui esimene, kuid seekord ei anta meile programmiallikat. Ärge unustage arutada siin (https://t.me/RalfHackerPublicChat) ja siin (https://t.me/RalfHackerChannel). Alustame.
Klõpsame otp sildiga ikoonile. Meile antakse aadress ja port ühenduseks.

Ühendame ja vaatame serveris ringi.

Lipp, mida me ei saa lugeda, programm ja selle lähtekood. Vaadakem lähtekoodi.

Töötleme seda. Programm võtab argumendina parooli.

Seejärel salvestatakse muutuja otp juhuslikud 16 bitti.

Kaustas tmp luuakse fail juhusliku nimega (otp esimesed 8 bitti) ja sinna kirjutatakse juhuslikud 8 bitti (otp teised 8 bitti).

Mingil põhjusel loetakse loodud faili väärtus ja võrreldakse sisestatud parooliga.

Siin peitub haavatavus. See seisneb genereeritud numbri vahepealses salvestamises faili. Saame faili suurust piirata, näiteks kuni 0, siis parooliga kirjutamisel ja lugemisel võrreldakse 0. Seda saab teha nii.
# ulimit -f 0 ![]()
Nüüd käivitage programm.
![]()
Saame vea. Pole hullu, seda saab töötleda sama Pythoniga.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" ![]()
Saame lipu ja oma kerged 100 punkti. Jätkame: järgmises artiklis käsitleme Webi. Võite meiega liituda .
Allikas: habr.com
