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

Slides:



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

PL/SQL kompilacja warunkowa
Rafał Hryniów Tomasz Pieciukiewicz
SQL INJECTION Wykorzystanie błędów w językach skryptowych
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
Bezpieczeństwo aplikacji WWW
Bazy danych 8. SQL podstawy P. F. Góra semestr letni 2004/05.
PHP + MySQL część II.
Język SQL ma ciekawe możliwości tworzenia zapytań
XML w integracji aplikacji
XML w integracji aplikacji 11 grudnia XML w integracji aplikacji Cel: umożliwienie wymiany danych pomiędzy aplikacjami: aplikacje/komponenty/moduły.
Bazy danych II Instrukcja INSERT Piotr Górczyński 25/08/2001.
Maciej Zabielski 15 stycznia 2003
Język SQL – zapytania zagnieżdżone (podzapytania)
Rozdział 2: Język bazy danych - SQL
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 2: Język bazy danych - SQL Proste zapytania.
Co to jest studium przypadku?
Obsługa bazy danych z poziomu phpMyAdmin
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
SQL-owskie szlaki górskie
SQLDziałanie select * from tab_kredyt wyświetla wszystko z tab_kredyt select Kredytobiorca, Bank, rodzaj, data_zawarcia, klasyfikacja from tab_kredyt.
SQL select kredytobiorca,bank, rodzaj, data_zawarcia, klasyfikacja,kwota, terminzapadalnosci-data_zawarcia iledni from tab_kredyt where (terminzapadalnosci-data_zawarcia)>1095.
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Zapytania SQL: wydajność i optymalizacja
BD-LAB6 Wojciech Pieprzyca
Resource Description Framework
Język SQL – ciąg dalszy DML (Data Manipulation Language)
Język SQL (Structured Query Language) DDL (Data Definition Language)
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
Autor: Maciej Piwowarczyk
Autor: Maciej Piwowarczyk
SQL ("Structured Query Language" - "Strukturalny Język Zapytań"), opracowany przez firmę IBM jest rozwinięciem języka SEQUEL (“Structured English QUEry.
Structured Query Language
OPERACJA DZIELENIA W SQL
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Wprowadzenie do JSP Copyright © Politecnico di Milano September 2003 Translation: Kamil Żyła, Politechnika Lubelska.
SQL – zapytania posumowanie
SQL – Structured Query Language (3)
Przetwarzanie w oknie - nowa siła zapytań
MySQL – ODBC - ACCESS.
Tworzenie bazy danych – mySQL
Kościoły Pokoju w Jaworze i Świdnicy
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Stare Miasto w Warszawie (1980)
Obiekt ze światowej listy UNESCO
MySQL bazy danych dla witryny
SQL - Structured Query Language
Hala Stulecia we Wrocławiu
Zabytkowa Kopalnia Soli w Wieliczce
Obiekt ze Światowej Listy UNESCO
Specjalizacja "Dziennikarstwo On-line„ asynchroniczny JavaScript i XML – AJAX Część 6 Prowadzący: Dariusz Jaruga
Komendy SQL do pracy z tabelami i bazami
Bazy danych Microsoft access 2007.
PL/SQL – dalsza wędrówka
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
OWASP + DevOps, kilka przydatnych narzędzi
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Autor: Damian Urbańczyk
Komendy SQL do pracy z danymi
XML w bazach danych.
Język SQL – polecenie Select
TEMAT: ACCESS - KWERENDY.
Współpraca PHP i MySQL Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z danych zapisanych na serwerze jest współpraca z relacyjna.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
1 Instrukcja SELECT : SELECT[DISTINCT  ALL] {*  [wyrażenie_kolumnowe [AS nowa_nazwa]],[…]} FROMNazwaTabeli [alias],[...] [WHEREwarunek_selekcji_wierszy]
Bazy Danych Wykład 7 Wojciech St. Mościbrodzki
Optymalizacja zapytań w SQL Server
INSTALACJA XAMPP Dr inż. Andrzej KIJ.
Testowanie baz danych - fakty i mity
Technologie Informacyjne Bazy danych
Zapis prezentacji:

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 OWASP Meeting Blind SQL Injections Jacek Włodarczyk

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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:

OWASP 17 Koniec Pytania?