TOP 10 biztonsági hiba tőlem
Véleményem szerint a legtöbb termékfelelős nem veszi igazán komolyan az alkalmazások biztonságát. Mindig örülök annak, ha a felhasználók tudatosan választanak biztonsági teszteken átesett alkalmazásokat. Minden elismerésem annak a termékfelelősnek, aki foglalkozik az alkalmazásával és a programot használó ügyfelekkel. Felsorolok néhány biztonsági hibát/sérülékenységet amikkel találkoztam. Remélem ez segítségére lesz a termékfelelősöknek, hogy ne essenek újra ugyanezekbe a hibákba.
Flash játék–Az Adobe flash-ben fejlesztett játéknál a pontszám beírást lehetett manipulálni. Ez úgy történt, hogy a POSTDATA „score” attribútumának értékét kellett átírni, így játék nélkül lehetett a legmagasabb pontszámot elérni. A másik dolog amit észrevettem, hogy nincs időtartam-vizsgálat, hogy mennyi ideig játszottak a játékkal. Egy olyan ellenőrzésre gondolok, hogy például, ha valaki 30 másodpercnél kevesebb ideig játszik, nem érhet el bizonyos pontszámnál többet. Erről egy nyilvános bejegyzést is írtam a blogomban, amit itt találhatsz.
Egészségügy – Képes voltam jogosulatlan hozzáférést szerezni betegek személyes adataihoz, amelyek szenzitív információkat tartalmaztak, mint kártyáról fizetett összegek, a fizető címe, e-mail címe, a beteggel kapcsolatos problémák és egyéb bizalmas információk. Ezek az adatok a HIPPA ajánlásai szerint is bizalmasnak számítanak. Egy SQL Injection technikával csináltam meg, ahol a lekérdezés tartalmazta az Admin felhasználót és a jelszavát is. (“admin / 1’or’1’=’1” (felhasználónév / jelszó)).
CAPTCHA feltörés – Miközben CAPTCHA-t teszteltem, képes voltam feltörni és automatikusan helyes inputokat adni a CAPTCHA-nak. A CAPTCHA feltörve. Rájöttem, hogy a CAPTCHA képei szekvenciálisan következnek egymás után (1.JPG, 2.JPG, …, 300.JPG). Megtaláltam, hol tárolja a rendszer a képeket, majd letöltöttem a gépemre és Excelben kézzel összekapcsoltam a képeket az elérési útvonalakkal. A CAPTCHA-hoz kapcsolódó szövegek meghatározása könnyű, fél órás munka volt, ezeket hozzáadtam az Excelhez. Amikor ezzel megvoltam, egyszerű volt egy automatizmust írni (Selenium, Sahi) a megfeleltetésekre.Amikor kép = 1.JPG
Keresd meg a táblázatban az „1.JPG” szöveget a B oszlopban
Aztán írd be a böngésző CAPTCHA mezőjébe az táblázat C oszlopának értékét
Enter
Személyiségi jogok sérelme – Egy társkereső alkalmazásban albumszerűen lehetett képeket feltölteni. Meg lehetett jelölni az adott képnél, hogy publikus vagy személyes. A publikust mindenki látta, a személyest pedig csak az, aki feltöltötte a képet, vagy akivel a feltöltő megosztotta.
Mások személyes képeit is meg tudtam nézni az URL-ek átírásával, egy URL meghamisításával. Egy eszköz segítségével monitoroztam a HTTP kéréseket, melyekből megtudtam a saját képeim elérési útjait. Majd elkezdtem átírni az útvonalban szereplő számokat, mint photoID=39894394. A számok átírásával személyes képeket is meg tudtam nézni.
A szomorú az volt, hogy bejelentkezés nélkül is el lehetett érni a képeket, aminek egyáltalán nem így kellett volna működnie. Ezzel az erővel bárki az összes képet le tudta volna tölteni bármilyen naplózás nélkül.
A cookie-k veszélyei – Be tudtam lépni bármelyik felhasználó nevében a cookie átírásával, akkor is amikor az áldozat nem volt bejelentkezve.
Rájöttem, hogy a cookie-ban az értékek be vannak égetve és nem generálódnak újra minden egyes belépéskor, ami egy hibás programozási megoldás. Nagyon egyszerű volt a cookie-t átírni különböző variációkra, felhasználók milliói váltak ezzel potenciális áldozattá.
A cookie-k nem szűntek meg a kilépésekor – Azt vettem észre, hogy a cookie nem jár le, hanem folyamatosan aktív marad a szerveren akkor is, ha a felhasználó már kilépett.
Hogyan csináltam?
A bejelentkezett fiókomnál lekérdeztem az aktuális cookie értékét a Cookie Manager-rel, aztán kiléptem. Később a „Tamper Data” add-on-t használva visszatértem a kijelentkező linkhez, ezzel meghamisítva a HTTP kérést. Ekkor kicseréltem a cookie új értékét a régire és máris be voltam jelentkezve. Észrevettem, hogy az oldal nem használja a hitelesítéshez az adatokat, csak és kizárólag a cookie értékére támaszkodik. Jogosultság nélkül a cookie átírásával sikerült belépnem. Ez olyan, mint belépni a házba, de nem az ajtón keresztül.
Technikailag bizalmas adatok megjelenítése – Különböző karakterkészleteket használtam (Arab, Kínai) amelyeket nem kezeltek le az alkalmazásban és problémát okoztak. Az hiba olyan technikai részleteket tartalmazott, mint az adatbázis és a mező neve. Ez a támadások melegágya.
Elfelejtett jelszó/Jelszótörlés linkje soha sem járt le – Az elfelejtett jelszó linkje használat után le kell, hogy járjon egy bizonyos idő elteltével akkor is, ha azt nem használták ki. Egyszer egy webes alkalmazás tesztelésekor észleltem, hogy a link többször is használható új jelszó készítésére. Ez azt jelenti, hogy bárki hozzájuthat ehhez a linkhez a web böngésző naplójából, ha az megosztott, vagy publikus számítógépen történik.
Shotgun stílus – Egy web alkalmazásban vettem észre, hogy a beléptetés a „Shotgun” támadás veszélyének van kitéve. Különböző felhasználóneveket erőltetve és a jelszavakkal következetesen dolgozva próbáltam bejelentkezni. Így lehetőség van jogosulatlanul belépni egy más felhasználó nevében. Javasoltam egy ellenőrző mérést, ami figyeli a kéréseket egy megadott IP címről, ha ugyanazzal a jelszóval, vagy ugyanazzal a módszerrel próbálnak belépni ciklikusan, és építsenek be egy falat az ilyen jellegű támadások ellen.
Az állományok feltöltésének könyvtára listázható – Belépés után megtaláltam az állomány feltöltési funkciót, ahol a felhasználók bizalmas dokumentumokat tudnak feltölteni, amelyeket az orvosaik gyógyítási célokra használnak. Észleltem, hogy hozzáférek a feltöltött állományokhoz az „upload” alkönyvtárban. Bejelentkezés nélkül el tudtam érni az „upload” URL-jét, mert a könyvtár listázhatósága engedélyezve volt. Ha ez nincs engedélyezve, akkor is könnyű brute-force technikával próbálkozva elérni az állományokat.
A listát folyamatosan bővítem, ahogy újabb biztonsági hibákkal találkozom. Hiszek a „Gondolkozz úgy, mint egy hacker” ideológiában, és folyamatosan képezem magam, hogy hackerré váljak. A fentebb leírtakon kívül az OWASP TOP 10-ben leírt teszteket végzek.
Szeretnéd, hogy az applikációd biztonsági teszteken is átessen? Ajánlani tudom a Moolya-t. Jó hír, hogy én leszek a csapat egyik tagja, aki tesztelni fogja az alkalmazásod. Segítünk elkerülni a rémálmokat, hogy a hangsúly az üzleten legyen.
Forrás: http://tuppad.com/blog/2013/12/03/top-10-security-bugs-found-by-santhosh-tuppad/
Szerző: Santhosh S Tuppad
A szerző
- Santhosh Tuppad hibakeresési versenyeket nyert az elmúlt néhány évben, innen tett szert ismertségre. Egy igazi mohó teszt-blogger, aki havi rendszerességgel szervez találkozókat a tesztelőknek Bangalore-ban és Chennai-ban. A tesztelési tudása aktív és naprakész. Amíg a vele egykorúak legtöbbje a szoftverbiztonság iránt érdeklődik, Santhosh a saját tesztelési szolgáltatásait fejlesztette. Santhosh a barátnője unszolására kezdett a szoftvertesztelésbe.