DWIN13/raport.md
2020-06-18 00:51:47 +00:00

2.6 KiB

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

  1. Utwórz nowe konto użytkownika
  2. 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
  3. Aplikacja powinna zalogować Cię do Twojego konta
  4. Wyloguj się
  5. Zaloguj się z powrotem przy pomocy takich samych danych, jak przy tworzeniu nowego konta
  6. W prawym górnym rogu pojawi się zakładka Manage this serwer, dostępna tylko dla użytkowników z uprawnieniami administratora.

Widok administratora strony