images | ||
README.md |
Agata Lenz - Testy Penetracyjne
Zadanie zaliczeniowe z przedmiotu Wprowadzenie do Testowania
Opis
Moim zadaniem zaliczeniowym było utworzenie raportu na podstawie przeprowadzonych testów penetracyjnych strony https://google-gruyere.appspot.com/part1. W tym celu wygenerowałam unikalne id, dlatego testy zostały przeprowadzone na stronie https://google-gruyere.appspot.com/427718249942042260769664292874039511420/.
Spis treści
Lista użytych narzędzi
Testy zostały przeprowadzone przy użyciu przeglądarki FireFox, dostępnego w niej zestawu narzędzi deweloperskich oraz dodatkowego rozszerzenia Web Developer dla tejże przeglądarki.
Znalezione podatności
manipulacja zapytań http
Wskutek obsługi formularzy przy użyciu metody GET zamiast POST, przekazywane zapytania widoczne są w adresie url, tym samym narażone zostają na ataki, a manipulacja przekazywanymi danymi jest bardzo prosta. Np. fragment zapytania tworzącego nowe konto użytkownika: https://.../saveprofile?action=new&uid=agata&pw=agata&is_author=True można łatwo zmanipulować na: https://.../saveprofile?action=update&uid=agata&is_admin=True.
cross site scripting
Zarówno pola formularzy, jak i upload plików czy nawet adres url są narażone na ataki XSS - bez problemu można dokonać wstrzyknięcia kodu skryptu.
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}}
Scenariusze testów
nadanie sobie uprawnień administratora
- Utwórz nowe konto użytkownika
- Zmień adres url na: https://google-gruyere.appspot.com/427718249942042260769664292874039511420/saveprofile?action=update&uid=username&is_admin=True, gdzie username to Twoja nazwa użytkownika
- Aplikacja powinna zalogować Cię do Twojego konta
- Wyloguj się
- Zaloguj się z powrotem przy pomocy takich samych danych, jak przy tworzeniu nowego konta
- W prawym górnym rogu pojawi się zakładka Manage this serwer, dostępna tylko dla użytkowników z uprawnieniami administratora.