ProjektPython/README.md

59 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

2024-01-21 17:51:17 +01:00
# 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<br />
http://ppw-s1201686.vm.wmi.amu.edu.pl:8000/detect/1))%20or%20sleep(5)# - sql injection<br />
http://ppw-s1201686.vm.wmi.amu.edu.pl:8000/detect/%3Cimg%20src=%22javascript:alert(2)%22%3E - xss<br />
http://ppw-s1201686.vm.wmi.amu.edu.pl:8000/detect/%22%7Cecho%20DKGJRP$((17%2B97))$(echo%20DKGJRP)DKGJRP' - os command injection<br />
Sposób komunikacji poprzez POST można zobaczyć w pliku test_main.py