Insecure CAPTCHA
1. Bevezetés¶
Ebben a részben azt fogjuk bemutatni, hogyan lehet megoldani a Insecure CAPTCHA kihívást a DVWA-ban a Low (alacsony), Medium (közepes) és High (magas) biztonsági szinteken. Megvizsgáljuk az egyes szintek kihívásait, és lépésről lépésre végigmegyünk a biztonsági intézkedések megkerülésén.
2. Mi az az Insecure CAPTCHA?¶
Az Insecure CAPTCHA egy rosszul megvalósított CAPTCHA rendszer, amelyet a támadók könnyen meg tudnak kerülni olyan hibák miatt, mint a kiszámítható kódok vagy gyenge érvényesítés.
3. Low Security Level (Alacsony biztonsági szint)¶
Lényegében a folyamatot két lépésre bontja. Először a rendszer ellenőrzi, hogy a felhasználó helyesen töltötte-e ki a mezőket és megoldotta-e a CAPTCHA-t. Első lépés: a felhasználói input és a CAPTCHA ellenőrzése
Ha ezen a lépésen túljut, továbblép a másodikra, ahol a felhasználónak meg kell nyomnia a Submit (küldés) gombot a művelet befejezéséhez, ekkor a szerver véglegesíti a folyamatot. Második lépés: a folyamat befejezése
Miután észrevettem, hogy a weboldal azt várja el, hogy a felhasználó az 1-es lépéssel kezdje az érvényesítést, rájöttem, hogy el tudjuk fogni a kérést a Burp Suite segítségével, és megváltoztathatjuk a step értékét 1-ről 2-re, így hatékonyan megkerülve az első lépés érvényesítését. Jelszó megváltoztatva a Burp Suite-ban módosított lépéssel
Ahogy látod, működött: a step értékének módosításával át tudtunk lépni a CAPTCHA-n, és probléma nélkül folytathattuk a folyamatot.
4. Medium Security Level (Közepes biztonsági szint)¶
A közepes (medium) szinten észrevettem, hogy a rendszer a passed_captcha paraméterre támaszkodik annak megállapításához, hogy a felhasználó sikeresen megoldotta-e a CAPTCHA-t. Mivel ez az ellenőrzés az ügyféloldalon történik, könnyen manipulálható — például a Burp Suite segítségével megváltoztathatjuk a step értékét 2-re, és a passed_captcha-t igazra (true) állíthatjuk.
5. High Security Level (Magas biztonsági szint)¶
A magas (high) biztonsági szint kódját elemezve egy rétegzett validációs rendszert vettem észre. Először a reCAPTCHA válaszát ellenőrzi, de ha ez nem sikerül, akkor visszatér egy másik ellenőrzéshez, amely azt vizsgálja, hogy a g-recaptcha-response tartalmazza-e a hidd3n_valu3 értéket, és hogy a felhasználói ügynök (user agent) neve reCAPTCHA-e.
A megoldáshoz elfoghatjuk a kérést a Burp Suite segítségével, hozzáadhatjuk a hidd3n_valu3 értéket a g-recaptcha-response mezőhöz, és megváltoztathatjuk a user agentet reCAPTCHA-ra.