# 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](#lista-narzędzi) * [Znalezione podatności](#znalezione-podatności) * [Scenariusze testów](#scenariusze-testów) * [Możliwe zastosowania](#możliwe-zastosowania) ## 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](C:\Users\48731\Desktop\gruyere\images\g1.png)