Procesy biznesowe w aplikacjach WWW stanowią interesujący cel dla potencjalnego intruza. Są to kluczowe miejsca aplikacji - te, które tworzą wartość zarówno dla samego użytkownika, jak i właściciela aplikacji. W trakcie prezentacji spojrzymy na szereg przykładowych procesów z perspektywy atakującego. Zastanowimy się wspólnie, gdzie w danym procesie szukać zysku jako atakujący oraz jakie przypadki testowe warto sprawdzić. Omówimy co było nie tak z implementacją, jak ją naprawić oraz czego unikać w przyszłości.
Testowanie zabezpieczeń logiki biznesowej różni się od szukania technicznych podatności. Wymaga mniej wiedzy technicznej i lepszego zrozumienia założeń biznesowych. Prezentacja ma charakter warsztatowy i jest ukierunkowana na interakcję z uczestnikami. Prowadzący przedstawia założenia odnośnie danego procesu oraz jego kroki, pozostawiając publiczności wymyślanie w jaki sposób go zaatakować.
2. • Starszy Specjalista ds. Bezpieczeństwa IT, SecuRing
• Ocena bezpieczeństwa aplikacji webowych i mobilnych
• Trener
• (Były) programista
• OWASP Poland, członek zarządu
Kto zacz?
4. Czemu testować bezpieczeństwo procesów?
Na co ta wiedza mi?
Ja zajmuję się programowaniem a nie bezpieczeństwem! ;)
Bezpieczeństwo procesów?!
5. Błędy na poziomie:
• Logiki procesu
• Implementacji procesu
Bezpieczeństwo procesów?!
6. Web developer
• Pokazuje pola ukryte na formularzu
• Zdejmuje ograniczenie długości pól
• Uaktywnia pola zablokowane (disabled)
• Zamiana pól wyboru na tekstowe
Przyda się
8. • Omówienie procesu
• Jak go zaatakować?
• Co było nie tak?
• Techniki testowania
Proces - schemat
9. • Edycja elementu danych
• Przypomnienie hasła
• Zmiana nr telefonu do autoryzacji SMS
• Zlecenie z autoryzacją X 3
Przykłady
10. Proces
• Wybór elementu danych z listy
• Zmiana danych
• Zapisanie zmian (+ ew. autoryzacja)
Edycja elementu danych
11. Proces
• Wybór elementu danych z listy
• Zmiana danych
• Zapisanie zmian (+ ew. autoryzacja)
Identyfikator elementu danych w polu ukrytym jest
kroku 1 i 2
Edycja elementu danych
12. Proces
• Podanie adresu email
• Podanie kodu otrzymanego na email
• Zmiana hasła
Przypomnienie hasła
16. Proces
• Podanie treści kodu sms, który przyszedł na stary telefon
• Podanie nowego numeru telefonu
• Podanie treści kodu sms, który przyszedł na nowy
telefon
• Zapisanie zmiany
Zmiana nr telefonu
18. Proces
• Uzupełnienie danych zlecenia
• Możliwa autoryzacja od razu, lub zapisanie operacji do
późniejszej autoryzacji
Zlecenie z autoryzacją
19. Proces
• Uzupełnienie danych zlecenia
• Możliwa autoryzacja od razu, lub zapisanie operacji do
późniejszej autoryzacji
Podpowiedź: Proszę Państwa, to jest proste ;)
Zlecenie z autoryzacją
20. POMINIĘCIE PARAMETRU I JEGO
WARTOŚCI PODCZAS
WYKONANIA AKCJI NA
FORMULARZU
Technika nr 3
21. Proces
• Uzupełnienie danych zlecenia
• Możliwa autoryzacja od razu, lub zapisanie operacji do
późniejszej autoryzacji
Zlecenie z autoryzacją
22. Proces
• Uzupełnienie danych zlecenia
• Możliwa autoryzacja od razu, lub zapisanie operacji do
późniejszej autoryzacji
Podczas wykonania autoryzacji przesyłane są dane transakcji
Zlecenie z autoryzacją
24. Proces
• Uzupełnienie danych zlecenia
• Możliwa autoryzacja od razu, lub zapisanie operacji do
późniejszej autoryzacji
Zlecenie z autoryzacją
25. Proces
• Uzupełnienie danych zlecenia
• Możliwa autoryzacja od razu, lub zapisanie operacji do
późniejszej autoryzacji
Dostępne akcje na formularzu to:
• signandsend
• save
Zlecenie z autoryzacją