AWWW-1st3.6-w13.tresc-1.0-Slajd8

Z Studia Informatyczne
Wersja z dnia 09:31, 29 wrz 2006 autorstwa Juliusz Jezierski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

SQL Injection (2)

SQL Injection (2)


Co by się stało, gdyby do pola formularza użytkownik wprowadził nie identyfikator produktu, lecz łańcuch znakowy podobny do przedstawionego na slajdzie? Ponieważ omawiany serwlet Java po prostu dokleja wartość otrzymanego parametru do szablonu zapytania SQL, to wykonane byłoby zapytanie zupełnie odmienne od tego, którego oczekiwał programista tworzący serwlet. Tym razem zapytanie nie zwraca opisu żadnego produktu, lecz zamiast tego pobiera inne, prawdopodobnie poufne dane z bazy danych. Tego typu atak nazywany jest właśnie atakiem SQL Injection.

Uniknięcie takich ataków jest możliwe, o ile programista nie będzie łatwowiernie wykonywać kodu poleceń budowanych w oparciu o niesprawdzone parametry przekazane przez użytkownika końcowego. Gdyby wcześniej przeprowadzić walidację otrzymanego parametru lub posłużyć się parametryzowanym obiektem zapytania JDBC, nie doszło by do takiego zagrożenia.


<< Poprzedni slajd | Spis treści | Następny slajd >>