Ebben a cikkben a 25. feladatot oldjuk meg az oldalról
szervezeti információkKülönösen azoknak, akik szeretnének valami újat tanulni és fejlődni az információs és számítógépes biztonság bármely területén, a következő kategóriákról írok és beszélek:
- PWN;
- kriptográfia (Crypto);
- hálózati technológiák (Network);
- fordított (Reverse Engineering);
- szteganográfia (Stegano);
- WEB sebezhetőségeinek keresése és kihasználása.
Ezen kívül megosztom tapasztalataimat a számítógépes kriminalisztika, malware és firmware elemzések, vezeték nélküli hálózatok és helyi hálózatok elleni támadások, pentesztek és exploitok írása terén.
Azért hoztam létre, hogy új cikkekről, szoftverekről és egyéb információkról tájékozódhasson
Minden információ kizárólag oktatási célokat szolgál. A jelen dokumentum szerzője nem vállal felelősséget a jelen dokumentum tanulmányozása során szerzett ismeretek és módszerek használatából eredő károkért.
Az otp feladat megoldása
Folytassuk a második résszel. Azonnal mondom, hogy bonyolultabb, mint az első, de ezúttal nem adják meg a program forráskódját. Ne feledkezzünk meg a vitáról itt (https://t.me/RalfHackerPublicChat) és itt (https://t.me/RalfHackerChannel). Kezdjük.
Kattintson az otp aláírással ellátott ikonra. Kapunk egy címet és egy portot a csatlakozáshoz.
Csatlakozunk és körülnézünk a szerveren.
Egy zászló, amelyet nem tudunk olvasni, egy program és annak forráskódja. Nézzük a forrást.
Tegyük rendbe. A program egy jelszót vesz fel argumentumként.
Ezután véletlenszerű 16 bájt kerül tárolásra az otp változóban.
A tmp mappában létrejön egy véletlenszerű nevű fájl (az első 8 bájt otp), és véletlenszerű 8 bájt kerül bele (a második 8 bájt otp).
Valamilyen oknál fogva a rendszer beolvassa a létrehozott fájl értékét, és összehasonlítja a beírt jelszóval.
Itt jön be a sebezhetőség. Ez abból áll, hogy közbenső fájlba menti a generált számot. Korlátozhatjuk például a fájl méretét 0-ra, majd íráskor és olvasáskor 0 lesz összehasonlítva a jelszóval.. Ezt így is megtehetjük.
# ulimit -f 0
Most futtassuk a programot.
Hibát kapunk. Nem számít, ugyanazzal a python-nal fel lehet dolgozni.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Megkapjuk a zászlót és a könnyű 100 pontot. És folytatjuk: a következő cikkben a weben fogunk foglalkozni. Csatlakozhat hozzánk a
Forrás: will.com