Reload: Web Security Academy
Choć nie zajmuję się już aktywnym testowaniem (od ~2013), dalej to lubię. Lubię więc czasem coś sobie przypomnieć, albo nauczyć się czegoś nowego i Web Security Academy nadaje się do tego doskonale, o ile znajdzie się na to czas.
Ale ja nie o tym chciałem, dzisiaj bardziej z lotu ptaka:
- SQL injection - tu zmieniło się najmniej. Oczywiście, jest łatwiej, narzędzia automatyczne są mądrzejsze, ale w tym obszarze akurat nie nauczyłem się niczego nowego, przypomniałem sobie tylko stare czasy, a pewne stare techniki ciągle działają, nawet lepiej niż to, co jest teraz “na topie” (i o tym pewnie będzie kiedy indziej);
- Cross-site scripting - oj, tu jest gorzej; zwłaszcza, że całe sekcje tego rozdziału dotyczą technologii, które pojawiły się (lub zdobyły popularność) po tym, jak przestałem aktywnie testować, przykład – AngularJS, który “za moich czasów” dopiero raczkował;
- Cross-site request forgery (CSRF) - trivia; dużo się zmieniło i nadal zmienia po stronie obrony, ale z perspektywy atakującego to wciąż to samo;
- Clickjacking - w sumie też niewiele nowego, zostały mi dwa zadania, których mi się po prostu nie chce robić, ale w końcu się zawezmę i poświęcę trochę czasu by potem dogryzać tym, którzy Clickjacking opisują głównie w kontekście phishingu;
- DOM-based vulnerabilities - to czeka w kolejce; mam z tym mało doświadczenia, chętnie się dokształcę;
- Cross-origin resource sharing (CORS) - to akurat zyskiwało popularność pod koniec mojej aktywności, więc fajnie poćwiczyć teorię w praktyce;
- XML external entity (XXE) injection - pamiętam ile miałem radości (prawie) za każdym razem, gdy aplikacja przyjmowała XML;
- Server-side request forgery (SSRF) - nie jest to dla mnie nowość, ale “w dawnych czasach” praktyczne wykorzystanie SSRF bylo bardziej ograniczone, po prostu nie było tak wielu systemów backendowych z wystawionym API;
- HTTP request smuggling - to duży temat i bardzo dużo nowego researchu, choćby to: HTTP Desync Attacks: Request Smuggling Reborn;
- OS command injection - stare, dobre i znane;
- Server-side template injection - nie powiem, że proste i znane, ale łatwe do zrozumienia bo koncepcyjnie niewiele się różni od XSS czy SQLi; większym problemem jest zrozumienie tego, co można zrobic w template (zwłaszcza, że ani w Java, ani PHP jakiś wybitny nie jestem), ale potem już idzie z górki;
- Directory traversal - to też stare, ale ciągle na topie;
- Access control vulnerabilities - moje ulubione(!)
- Authentication - tu pobawiłem się z kilkoma rozwiązaniami, które nie były powszechne za moich czasów; przy okazji – jeden lab bardzo mnie zirytował (pewnie o tym kiedy indziej);
- WebSockets, Web cache poisoning - tu dużo mam do nauczenia się, w znacznym stopniu “nowe”;
- Insecure deserialization - tu też sporo do nadrobienia; znaczna część researchu wyszła po tym, gdy już przestałem testować;
- Information disclosure - fajna zabawa, akurat w discovery nigdy nie byłem zbyt mocny (bo też w większości przypadków nie musiałem), z drugiej strony obecne narzędzia są całkiem dobre w automatycznym discovery;
- Business logic vulnerabilities - mój kolejny konik, bardzo mi się te zadania podobały;
- HTTP Host header attacks - nie powiem, że całkiem nowe, ale fajne ćwiczenia, które pozwalają pobawić się czymś, co dawniej nie było powszechne “w praktyce”;
- OAuth authentication - kolejny temat do nadrobienia, zwłaszcza OAuth2, z którym się minąłem w drzwiach – on wchodził, ja wychodziłem.
Ciekawe, czy uda mi się zrealizować moje zamierzenie – znaleźć czas przynajmniej na jeden lab dziennie.
Oryginał tego wpisu dostępny jest pod adresem Reload: Web Security Academy
Autor: Paweł Goleń