torsdag 14 maj 2009

SQL injection - inte bra

Som sagt så är vi ett par svenskar här nere i Krakow, tror att vi har hittat sju hittills. Jag (Stefan Pettersson) tänkte, precis som CJ, pitcha in med några bloggposter till och från också. Vi ska dessutom vara med på CONFidence som börjar imorgon så det blir lite rapportering därifrån med.

Bernardo Damele A. G. är snubben bakom attackverktyget sqlmap. På eftermiddagen igår presenterade han några nya funktioner som han har implementerat. sqlmap automatiserar SQL injection-attacker. Med besked.

Farlig attack
SQL injection är en attack som inte går att underskatta. En sårbarhet som kan utnyttjas för SQL injection är nästan alltid hysteriskt illa. Som någon sade någon gång: "om det finns pengar någonstans i nätverket så är det i databasen". Den här attacken blottlägger ofta databasen totalt. Vad som gör saken ännu mer illa (illare?) är att attacker mot databaser inte stannar vid datastöld, dagens system är så fulla av funktioner att det ofta finns goda möjligheter att både läsa/skriva på filsystemet och köra kod på operativsystemet. Hur illa kan det bli?

Sofistikerade verktyg
sqlmap kan nu automatisera processen att, genom en SQL injection i en webbapplikation, ladda upp och köra exekverbara filer. Det är implementerat för både MySQL, PostgreSQL och SQL Server på ASP, ASP.NET och PHP. 7 av de 9 möjliga kombinationerna fungerar. sqlmap kopplar in payloads från Metasploit i det hela så att få en Meterpreter- eller VNC-session från en webbapplikations databas är peanuts. Givetvis använder den Metasploits encoders så att antivirus blir förvirrade.

Vad Bernardo har lagt till för funktionalitet i senaste versionen är i sig inget nytt, det har funnits verktyg för det redan tidigare, exempelvis sqlninja. (Dock stödjer sqlmap fler databaser och plattformar.)

Frågan är: hur mycket måste vi göra för att visa att SQL injection är ett kolossalt säkerhetshål? Vi vet ju redan vad vi måste göra.

Inga kommentarer: