Partecipo a un programma di bug bug e cerco di trovare una vulnerabilità grave da esporre.
In primo luogo, ho scoperto che la società non stava utilizzando CSRF token
, invece di utilizzare Referer
per garantire che la richiesta venga effettuata da https://example.com
.
Referer
tende ad essere meno sicuro di CSRF token
, ecco perché ho iniziato a cercare Vulnerabilità legata all'URL . Dopo alcune ore di ricerca, ne ho finalmente trovato uno. Un input come https://m.example.com/?app=desktop&location=/admin?doSomeAction=stuff
avrà come risultato la seguente intestazione Location: Location:https://example.com/admin?doSomeAction=stuff
.
Leggendo Wikipedia su Referer
e https
, ho notato la seguente riga:
If a website is accessed from a HTTP Secure (HTTPS) connection and a link points to anywhere except another secure location, then the referrer field is not sent.
Mentre mi sto reindirizzando verso una posizione sicura, perché l'intestazione Referer
non viene inviata quando accedi a Location:https://example.com/admin?doSomeAction=stuff
Modifica: il browser non cambia Referer
in Location
reindirizzamento. Mi sono confuso a causa di questo post: link .
Ora mi chiedo, se invece di Location
, la pagina inviasse contenuti con <script>document.location="https://example.com/example.com/admin?doSomeAction=stuff"</script>
cambierebbe il referer?