Ho identificato un XSS memorizzato e mi chiedo, come potrei sfruttare questa vulnerabilità per caricare una shell.
XSS è un attacco lato client, ma a volte può essere usato per sfruttare un attacco più grande contro il server.
Diciamo che c'era una pagina a cui l'utente amministratore aveva accesso solo come prima cosa che doveva controllare che l'utente disponga delle autorizzazioni appropriate.
es. http://www.example.com/admin/delete_user.php?id=3&lang=en
Potrebbe essere che il parametro lang
punti a un file di inclusione PHP:
include($_GET['lang'].'.php');
In tal caso l'autore dell'attacco potrebbe incorporare la stringa
<img src="http://www.example.com/admin/delete_user.php?id=3&lang=../../uploads/foo"/>
perincludereilfoo.php
chel'autoredell'attaccoèriuscitoaraggiungeresulserver(conaltrimezzi,comelafunzionalitàdicaricamentodeifilechesipensavafossesicuromentrevenivacaricatoall'esternodellawebroot)eottenerel'esecuzionedifile,oancheunguscioinverso.IlfileverràinclusoedeseguitoognivoltacheunamministratoreaccedeallapaginacontenentelavulnerabilitàXSSarchiviata.Inalternativa,unfileremotopuòessereinclusousandounURL(es.InPHPse
Dipende molto dal sito in questione, e in questo caso l'utente malintenzionato dovrebbe sapere che tale vulnerabilità LFI (o RFI) esiste. Questo non è un salto di qualità, poiché molte applicazioni sono open source, quindi un utente malintenzionato potrebbe installare la propria copia locale per indagare su tali punti deboli.
XSS è un attacco contro il client , non sul server.
L'unico modo in cui un utente malintenzionato può farcela contro il server è se la vittima ha privilegi speciali (come un account amministratore).
Non puoi. Utilizzando tecniche Cross-site scripting (XSS) , puoi recuperare solo informazioni dai clienti.
Leggi altre domande sui tag web-application xss file-inclusion