Az OWASP Top 10 kiadvány a webes alkalmazásokban előforduló leggyakoribb sérülékenységek gyűjteménye. A következő bejegyzés sorozatban bemutatjuk ezeket a hibákat és a bennük rejlő kockázatokat.
A sérülékenység háttere
Az alkalmazás nem kezeli megfelelően a felhasználó által bevitt adatokat és lehetővé teszi, hogy egy támadó parancsokat küldjön az adatbázisnak. Az injection jellegű sérülékenységekből a következők a leggyakoribbak: SQL, LDAP, XPath, NoSQL, OS commands, XML, stb.
A sérülékenység fő oka a szerver oldali input validálás hiánya, ami gyakran előfordul régen fejlesztett alkalmazásokban.
Kockázat
Egy támadó hozzáférhet az adatbázishoz, módosíthatja, törölheti azt. Gyakori következménye az adatlopás, szenzitív adatok kiszivárogtatása, de akár a hoszt feletti irányítás teljes átvétele.
Tesztelés
Az injection jellegű sérülékenységek könnyen felismerhetőek a forráskódot elemezve, valamint automatizált és manuális sérülékenység vizsgálat segítségével.
Megelőzés
Az injection sérülékenységek a következőképp előzhetőek meg:
- Szerver oldali “whitelist” jellegű (csak a biztonságos karakterek jóváhagyása) input validáció
- Biztonságos API használata
- Object Relational Mapping Tools