XSS tiedostolatauksissa - HTML
Tässä moduulissa hyväksikäytämme harjoituskohteessa olevaa XSS-haavoittuvuutta, joten voit käynnistää alla olevan tehtävän ja toistaa vaiheet omassa tahdissa.
Tiedostojen lähettäminen on toiminnallisuutena kompleksinen ja voi johtaa moniin haavoittuvuuksiin, jos kaikkea ei oteta huomioon. Mahdollisuus siirtää omia tiedostoja järjestelmään onkin usein yksi mielenkiintoisimmista testattavista asioista verkkosivuja testatessa. Lähestymistapoja tiedostojen lähettämiseen on monia ja moni asia voi johtaa erilaisiin haavoittuvuuksiin, jos kaikkea ei oteta huomioon. Tässä moduulissa tutkimme, minkälaisia XSS-haavoittuvuuksia voi mm. koitua, kun sovellus sallii vaarallisia tiedostotyyppejä, eikä palauta tiedostoa tilanteen vaatimalla tavalla.
Haavoittuvuuden löytäminen
Aloitamme tutkimalla siirtämällä sovellukseen yksinkertaisen TXT tiedoston ja katsomme kuinka sovellus käsittelee tiedostoa. Haluamme ymmärtää muunmuassa, kuinka tiedoston siirto suoritetaan ja pääseekö tiedostoon käsiksi sovelluksesta käsin.
Siirsimme sovellukseen test.txt nimisen tiedoston ja sovellus loi sivulle linkin tiedostoon.

Sovellus otti vastaan antamamme TXT tiedoston ja loi sivulle linkin tiedostoon. Linkkiin navigoidessamme, sovellus palauttaa tiedoston selaimeen seuraavalla tavalla.

**Content-Disposition **otsakkeella verkkosivu voi kertoa selaimelle, että kyseinen resurssi täytyy ladata tiedostona alas, eikä näyttää omana sivunaan selaimessa. Koska sovellus ei palauta tätä, selain suorittaa ja näyttää tiedoston yllä olevalla tavalla, omana sivunaan. Tästä voi koitua vakavia haavoittuvuuksia riippuen siitä, mitä tiedostotyyppejä sovellus sallii. Kokeilemme seuraavaksi siirtää sovellukseen HTML-tiedoston ja katsomme onko tämä sallittua. Luomme uuden tiedoston, lisäämme tiedostoon HTML-koodia ja siirrämme tämän sovellukseen.
1<h1>Hei kaikki!</h1>Sovellus sallii HTML tiedostot ja palauttaa nämä omana sivunaan selaimeen.

Varmistamme vielä, että tiedostomme voi sisältää JavaScript-koodia ja, että sovellus on haavoittuvainen XSS-hyökkäykselle. Lisäämme tiedostoon JavaScript-koodia ja siirrämme tämän sovellukseen.
1<h1>Hei kaikki!</h1>
2<script>alert('xss')</script>
Hakkeroinnin oppiminen alkaa tästä
Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.