diff --git a/README.md b/README.md index 74ff68a..1ffb338 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,11 @@ Zarówno pola formularzy, jak i upload plików czy nawet adres url są narażone ### Nieprawidłowe uprawnienia administratora Po otwarciu linku https://google-gruyere.appspot.com/427718249942042260769664292874039511420/quitserver następuje zamknięcie serwera - taką możliwość powinien mieć wyłącznie administrator, tymczasem nie trzeba być nawet zalogowanym użytkownikiem, aby do tego doprowadzić. -### Brak ochrony bazy danych -Wyświetlenie bazy danych jest możliwe dzięki: {{_db:pprint}} +### Możliwość SQL Injection +Aplikacja nie jest odporna na wprowadzanie zapytań SQL do bazy. + +### Wrażliwe dane przechowywane w ciasteczkach +Ciasteczka przechowują dane w formie: *hash|username|admin|author*. ## Scenariusze testów @@ -44,7 +47,6 @@ Wyświetlenie bazy danych jest możliwe dzięki: {{_db:pprint}} ![Widok administratora strony](images/g1.png) - ### Atak XSS poprzez formularz 1. Zaloguj się na wybrane konto użytkownika @@ -103,4 +105,11 @@ Wyświetlenie bazy danych jest możliwe dzięki: {{_db:pprint}} ## Możliwe zastosowania znalezionych podatności ## Manipulacja zapytań http -Poprzez manipulację zapytać http, którą można przeprowadzić choćby przy pomocy edycji adresu url, można nadać sobie (lub dowolnemu użytkownikowi znając jedynie jego nazwę) uprawnienia administratora. Daje to możliwości resetowania oraz zamykania serwera, ale także edycji dowolnych danych \ No newline at end of file +Poprzez manipulację zapytać http, którą można przeprowadzić choćby przy pomocy edycji adresu url, można nadać sobie (lub dowolnemu użytkownikowi znając jedynie jego nazwę) uprawnienia administratora. Daje to możliwości resetowania oraz zamykania serwera, ale także edycji dowolnych danych wszystkich użytkowników mających konta w serwisie (łącznie z pozostałymi administratorami strony), a także dodanie bądź pozbawienie uprawnień. +Same zapytania można manipulować na wiele sposobów, co umożliwia zatem wprowadzenie wielu zmian w ustawieniach konta itp z poziomu adresu url. + +## Ataki XSS +Ponieważ ciasteczko przechowuje wrażliwe dane o zalogowanym użytkowniku, dane te można z łatwością przechwycić przy użyciu XSS (co zostało zaprezentowane wyżej w trzech wariantach). Atakujący ma tutaj jednak możliwość wstrzyknięcia dowolnego skryptu, a zatem oprócz przechwytywania ciasteczek może również wykorzystać XSS do dynamicznego podmieniania zawartości stron, uruchomić keyloggera w przeglądarce ofiary, bądź hostować złośliwe oprogramowanie z wykorzystaniem zaatakowanej aplikacji. + +## SQL injection +Manipulacja zaptaniami do bazy danych, tak jak w wymienionym wyżej przykładzie, pozwala swobodnie wyświetlać jej zawartość. Zapytania do bazy mogą być również generowane dzięki nieodpowiedniemu filtrowaniu znaków ucieczki z danych wejściowych, co pozwala m.in. na modyfikację zapytania niezgodnie z intencją programisty, albo nawet przekazanie dodatkowych zapytań niszczących dane. Atak ten może być także wykorzystany do zamknięcia serwera, na przykład poprzez wstrzyknięcie zapytania kosztownego obliczeniowo. \ No newline at end of file