Dziś przedstawiamy kolejną część z serii “Cyberbezpieczeństwo w 5 minut”, która zagościła na naszym kanale Youtube. Ta część dotyczący ataku SSRF, czyli Server-Side Request Forgery. Video obejrzeć można poniżej, a w dalszej części tekstu zamieszczamy ciekawe referencje i artykuły zarówno dla osób, które chcą wiedzieć jak szukać / testować / atakować tę podatność, jak również dla tych, którzy chcą się przed tymi pierwszymi bronić 🙂

 

SSRF dla pentesterów / atakujących:

“Książkową” definicję tej podatności można znaleźć na stronach CWE MITRE. Obszerną, choć może nie najbardziej przyjazną stroną, na której znajdziesz wszystkie sposoby testowania tej podatności jest poświęcony jej rozdział OWASP Testing Guide.

Wspomniany OWASP Testing guide zawiera także odnośniki do innych zasobów traktujących o SSRF, np. różnych payloadach zebranych m.in. w SwissKeyRepo lub na blogu hackerone. Ostatnim, nie ujętym na wspomnianej stronie ciekawym artykułem na temat tej podatności jest także artykuł na stronie firmy Cobalt.

Faktyczne znaczenie podatności SSRF zależy od tego, co “uda się” z niej “wyciągnąć” – czy np. będzie to tylko skan portów sieci wewnętrznej, czy zdalne wykonanie kodu na jakiejś usłudze albo odczyt ważnych plików. Często niedoskonałe filtry można obejść korzystając z nietypowych payloadów SSRF lub odwołując się do niestandardowych protokołów. Poniższa lista zawiera bardziej zaawansowane techniki związane z podatnością Server-Side Request Forgery:

HackTricks – różne strategie wykorzystania podatności SSRF

SSRFMap – Fuzzer do testowania automatycznego podatności SSRF

Wykorzystanie SSRF przeciwko ElasticBeanstalk

Kradzież hashy NTLM przy pomocy podatności SSRF

PHP – SSRF do RCE z użyciem wrappera “zip://”

SSRF Dla programistów / obrońców:

Artykuł na stronie OWASP wyczerpująco opisuje samą podatność jak i sposoby radzenia sobie z nią i można znaleźć go TUTAJ. W zasadzie wszystko, co w nim znajdziecie, to omówione już wcześniej sposoby postępowania z tą podatnością, a więc:

  • Wykorzystywanie komponentów client-side zamiast server-side do pobierania zasobów
  • Filtrowanie wejścia pod kątem schematu URL
  • Filtrowanie pod kątem docelowych domen
  • Firewall blokujący ruch sieciowy w kierunkach innych, niż normalnie używane przez aplikację
  • Whitelista > Blacklista

PS. Jeśli chcesz dowiedzieć się więcej o cyberbezpieczeństwie – nie tylko aplikacji webowych, to koniecznie dołącz do naszego darmowego Newslettera – pod koniec każdego miesiąca przesyłamy kilka ciekawych artykułów dotyczących świata IT security.