59 lines
2.2 KiB
Markdown
59 lines
2.2 KiB
Markdown
# Temat projektu
|
|
|
|
Projekt zwraca użytkownikowi informacje na temat tego czy przekazany poprzez API ciąg znaków zawiera w sobie próbę ataku z jednej z poniższych klas:
|
|
Cross Site-Scripting
|
|
SQL Injection
|
|
OS Command Injection
|
|
|
|
# Dane trenujące
|
|
|
|
Do wytrenowania sieci wykorzystano publicznie dostępne zbiory przykładowych payloadów:
|
|
https://github.com/payloadbox/xss-payload-list/blob/master/Intruder/xss-payload-list.txt
|
|
https://github.com/CyberM0nster/SQL-Injection-Payload-List-
|
|
https://github.com/omurugur/OS_Command_Payload_List/blob/master/OS-Command-Fuzzing.txt
|
|
|
|
Dane "zwykłe" (w rozumieniu - wolne od próby ataku na aplikacje) uzyskano poprzez framework Faker (10200 wartości).
|
|
Dane te wygenerowano z użyciem następujących funkcji:
|
|
faker.ascii_company_email()
|
|
faker.city()
|
|
faker.country()
|
|
faker.postcode()
|
|
faker.street_address()
|
|
faker.iban()
|
|
faker.company()
|
|
faker.credit_card_number()
|
|
faker.date_of_birth()
|
|
faker.domain_name()
|
|
faker.job()
|
|
faker.sentence(nb_words=10)
|
|
faker.passport_number()
|
|
faker.name()
|
|
faker.phone_number()
|
|
faker.ssn()
|
|
faker.user_agent()
|
|
Zbiór ten reprezentuje typowe dane wprowadzane przez użytkowników do formularzy w aplikacjach webowych.
|
|
|
|
# Prezentacja do projektu
|
|
|
|
Prezentacja do projektu znajduje się pod [tym adresem](https://docs.google.com/presentation/d/1wuFPxtUUxXAWrII6AM5XPYU7X3HW9_4IPoFCWmdVr8A/edit#slide=id.p).
|
|
|
|
# Test jednostkowe Rest API
|
|
|
|
Stworzonych zostało 8 testów API, zarówno dla metody GET jak i POST.
|
|
|
|
# Dostęp do aplikacji
|
|
|
|
Aplikacja dostępna jest w sieci wydziałowej pod adresem:
|
|
|
|
[http://ppw-s1201686.vm.wmi.amu.edu.pl:8000/docs](http://ppw-s1201686.vm.wmi.amu.edu.pl:8000/docs)
|
|
|
|
Instalacja odbyła się bez anacondy, ponieważ w kontenerze zabrakło wolnego miejsca na dysku.
|
|
|
|
Przykładowe wywołania (dla GET):
|
|
|
|
http://ppw-s1201686.vm.wmi.amu.edu.pl:8000/detect/courtneybennett@miller.com - dane normalne
|
|
http://ppw-s1201686.vm.wmi.amu.edu.pl:8000/detect/1))%20or%20sleep(5)# - sql injection
|
|
http://ppw-s1201686.vm.wmi.amu.edu.pl:8000/detect/%3Cimg%20src=%22javascript:alert(2)%22%3E - xss
|
|
http://ppw-s1201686.vm.wmi.amu.edu.pl:8000/detect/%22%7Cecho%20DKGJRP$((17%2B97))$(echo%20DKGJRP)DKGJRP' - os command injection
|
|
|
|
Sposób komunikacji poprzez POST można zobaczyć w pliku test_main.py |