Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.

Podobne prezentacje


Prezentacja na temat: "Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP."— Zapis prezentacji:

1 Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP http://www.owasp.org OWASP Meeting Blind SQL Injections Jacek Włodarczyk jacekwlo@gmail.com 12.02.2009

2 OWASP 2 Forma prezentacji Forma dzisiejszej prezentacji będzie składać się z omówienia ataków typu Blind SQL Injection na przykładach praktycznych Wykorzystane środowisko to BT3 wraz z tym co oferuje ta wersja standardowo Wykorzystane przykłady dotyczą środowiska MySQL oraz aplikacji PHP

3 OWASP 3 Cel dzisiejszej prezentacji Przegląd przydatnych informacji Poznanie nazwy/wersji bazy danych/DBMS Poznanie nazwy tabeli Poznanie liczby kolumn w tabeli Poznanie liczby wierszy w tabeli Poznanie nazw pól tabeli Poznanie zawartości pól tabeli Posłużenie się automatem (skrypt) Krótka analiza IDS evasion

4 OWASP 4 Wstęp Ataki typu Blind SQL Injection, są to ataki, które dostarczaja informacji o atakowanym systemie DBMS na podstawie odpowiedzi 'True'/'False' Odpowiedzi 'True'/'False' są wynikiem odpowiednio spreparowanych żądań do serwera WWW Odpowiedzi 'True'/'False' mogą być przekazywane w różnych formach, w zależności od reakcji aplikacji na atak

5 OWASP 5 Ważne fakty Unie działają od wersji MySQL >= 4.0 Podzapytania (zapytania zagnieżdżone) od wersji MySQL >= 4.1 Baza information_schema od wersji MySQL >= 5.0

6 OWASP 6 'true'='true' dla różnych konstrukcji zapytań admin'-- ' or 0=0 -- " or 0=0 -- or 0=0 -- ' or 0=0 # " or 0=0 # or 0=0 # ' or 'x'='x " or "x"="x ') or ('x'='x

7 OWASP 7 'true'='true' dla różnych konstrukcji zapytań - C.D. ' or ''=' ' or a=a-- ') or ('a'='a ") or ("a"="a abc" or "a"="a abc" or 1=1 -- abc' or 1=1 -- abc' or 'a'='a abc') or ('a'='a abc")or("a"="a... itd.

8 OWASP 8 ' OR 1=1 - zamienniki ' OR 2=2 ' OR 1 ' OR TRUE ' OR 'tekst' = concat('tek','st') ' OR 'tekst' = 'tekst' ' OR 'tekst' IN ('tekst') ' OR 'tekst' like 'teks%' ' OR 2 > 1

9 OWASP 9 OR 1=1 – zamienniki C.D. ' OR 2 BETWEEN 1 AND 3 ' OR 'tekst' > 't' Z kolei znak większości lub mniejszości można zastąpić predykatem BETWEEN: OR id>1 może być wyrażone przez: OR id between 2 and 1e100

10 OWASP 10 Nazwa bazy danych/wersja DBMS Funkcja database() Nazwa bazy danych nie jest konieczna do wykonania skutecznego ataku Funkcja version() /*!... */ DEMO:

11 OWASP 11 Nazwa tabel(i) Select from – wiele wariantów information_schema.tables DUAL DEMO:

12 OWASP 12 Ilość kolumn i wierszy Group by Order by Union select Limit asc/desc DEMO:

13 OWASP 13 Nazwy pól Group by Order by Information_schema.columns DEMO:

14 OWASP 14 Zawartość tabeli – wiele możliwości Select if And if Ascii Ord Mid Substring Podzapytania Length benchmark

15 OWASP 15 Zawartość tabeli - C.D. Concat Char load_file Like Bit operators Compress DEMO:

16 OWASP 16 Automatyzacja Blind SQL Injection (brute force search) vs Blind SQL Injection (binary search) Różna ilość odpytań serwera Różnica w szybkości Wygoda w przypadku niestandardowych reakcji aplikacji (np. 302) DEMO:

17 OWASP 17 Koniec Pytania?


Pobierz ppt "Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP."

Podobne prezentacje


Reklamy Google