V tem članku bomo rešili 25. nalogo s spletnega mesta
organizacijske informacijeŠe posebej za tiste, ki se želijo naučiti nekaj novega in se razvijati na katerem koli področju informacijske in računalniške varnosti, bom pisal in govoril o naslednjih kategorijah:
- borova ogorčica;
- kriptografija (Crypto);
- omrežne tehnologije (omrežje);
- vzvratno (vzvratno inženirstvo);
- steganografija (Stegano);
- iskanje in izkoriščanje ranljivosti WEB.
Poleg tega bom delil svoje izkušnje na področju računalniške forenzike, analize zlonamerne in strojne programske opreme, napadov na brezžična in lokalna omrežja, izvajanja pentestov in pisanja podvigov.
Da boste lahko izvedeli o novih člankih, programski opremi in drugih informacijah, sem ustvaril
Vse informacije so na voljo samo v izobraževalne namene. Avtor tega dokumenta ne prevzema nikakršne odgovornosti za morebitno škodo, povzročeno komur koli zaradi uporabe znanja in metod, pridobljenih s preučevanjem tega dokumenta.
Reševanje naloge otp
Nadaljujmo z drugim delom. Takoj bom rekel, da je bolj zapleten kot prvi, vendar tokrat ne zagotavljajo izvorne kode programa. Ne pozabite na razpravo tukaj (https://t.me/RalfHackerPublicChat) in tukaj (https://t.me/RalfHackerChannel). Začnimo.
Kliknite na ikono s podpisom otp. Dobimo naslov in vrata za povezavo.
Povežemo se in pogledamo po strežniku.
Zastavica, ki je ne moremo prebrati, program in njegova izvorna koda. Poglejmo vir.
Uredimo to. Program vzame geslo kot argument.
Nato se naključnih 16 bajtov shrani v spremenljivko otp.
V mapi tmp se ustvari datoteka z naključnim imenom (prvih 8 bajtov je otp) in vanjo se zapiše naključnih 8 bajtov (drugih 8 bajtov je otp).
Iz nekega razloga se vrednost ustvarjene datoteke prebere in primerja z vnesenim geslom.
Tukaj nastopi ranljivost. Sestoji iz vmesnega shranjevanja ustvarjene številke v datoteko. Velikost datoteke lahko omejimo na primer na 0, potem se bo pri pisanju in branju z geslom primerjala 0. To lahko naredimo takole.
# ulimit -f 0
Zdaj pa zaženimo program.
Dobimo napako. Ni važno, lahko se obdela z istim pythonom.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Dobimo zastavo in svojih lahkih 100 točk. In nadaljujemo: v naslednjem članku se bomo dotaknili spleta. Lahko se nam pridružiš na
Vir: www.habr.com