This commit is contained in:
Agata Lenz 2020-06-18 02:12:46 +00:00
parent a73a30e845
commit 6a69da3441

View File

@ -26,8 +26,11 @@ Zarówno pola formularzy, jak i upload plików czy nawet adres url są narażone
### Nieprawidłowe uprawnienia administratora ### 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ć. 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 ### Możliwość SQL Injection
Wyświetlenie bazy danych jest możliwe dzięki: {{_db:pprint}} 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 ## Scenariusze testów
@ -44,7 +47,6 @@ Wyświetlenie bazy danych jest możliwe dzięki: {{_db:pprint}}
![Widok administratora strony](images/g1.png) ![Widok administratora strony](images/g1.png)
### Atak XSS poprzez formularz ### Atak XSS poprzez formularz
1. Zaloguj się na wybrane konto użytkownika 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 ## Możliwe zastosowania znalezionych podatności
## Manipulacja zapytań http ## 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 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.