Mikä on SSRF?
Monesti haavoittuvuudet sotkeentuvat keskenään ja on vaikea sanoa että millä nimellä mitäkin haavoittuvuutta pitäisi kutsua. Tällaisilla asioilla ei kannata vaivata päätään, ruusut tuoksuvat samalta vaikka niitä kutsuisi millä nimellä.
SSRF tulee sanoista Server Side Request Forgery ja sillä viitataan yleensä tilanteeseen jolla hyökkääjä saa sovelluksen lähettämään HTTP-pyyntöjä johonkin hyökkääjän haluamaan, mahdollisesti sisäverkon- tai paikalliseen palveluun.
XXE ja SSRF
XXE-haavoittuvuus usein johtaa myös SSRF-haavoittuvuuteen, koska ulkoiset entiteetit voivat viitata myös erilaisiin resursseihin kuin tiedostoihin, joita yksi esimerkki on HTTP-palvelu.
Tässä on esimerkiksi XML-tiedosto jonka käsiteltyään (haavoittuva) sovellus kävisi lataamassa Hakatemian nettisivun lähdekoodin ja upottaisi sen XML:n sisään.
<!DOCTYPE auto[
<!ENTITY xxe SYSTEM "https://www.hakatemia.fi">
]>
<auto>
<malli>&xxe;</malli>
</auto>
Harjoitus
Tee alla oleva harjoitus ja koita saada XXE-hyökkäyksen avulla luettua salainen resepti palvelimella ajossa olevasta sisäisestä HTTP-rajapinnasta.
XXE ja SSRF
Tässä labrassa pääset harjoittelemaan SSRF-hyökkäyksiä XXE-haavoittuvuuksia hyödyntämällä.
Tavoite
Lue salainen resepti palvelimella paikallisesti ajossa olevasta reseptipalvelusta jonka URL-osoite on: http://127.0.0.1:5000/api/v1/recipes
Tehtävät
Flag
Löydä lippu (flag) labraympäristöstä ja syötä se alle.
Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.
Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.