46 lines
2.6 KiB
Markdown
46 lines
2.6 KiB
Markdown
|
# 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)
|
||
|
|