He identificado un XSS almacenado y me pregunto, ¿cómo podría aprovechar esa vulnerabilidad para cargar un shell?
XSS es un ataque del lado del cliente, pero a veces se puede usar para aprovechar un ataque mayor contra el servidor.
Supongamos que había una página a la que el usuario administrador solo tenía acceso, ya que lo primero que hizo fue comprobar que el usuario tiene los permisos adecuados.
por ejemplo http://www.example.com/admin/delete_user.php?id=3&lang=en
Puede ser que el parámetro lang
apunte a un archivo de inclusión PHP:
include($_GET['lang'].'.php');
En cuyo caso el atacante podría incrustar la cadena
<img src="http://www.example.com/admin/delete_user.php?id=3&lang=../../uploads/foo"/>
paraincluirelfoo.php
queelatacantehalogradoingresaralservidor(porotrosmedios,comolafuncionalidaddecargadearchivosquesecreíaseguracuandosecargabafueradelaraízweb)yobtenerlaejecucióndelarchivo,oinclusounacáscarainversa.ElarchivoseincluiríayejecutaríacadavezqueunadministradoraccedaalapáginaquecontienelavulnerabilidadXSSalmacenada.Alternativamente,sepuedeincluirunarchivoremotousandounaURL(porejemplo,enPHPsi
Esto depende mucho del sitio en cuestión y, en este caso, el atacante tendría que saber que existía una vulnerabilidad de LFI (o RFI). Este no es un salto, ya que muchas aplicaciones son de código abierto, por lo que un atacante podría instalar su propia copia local para investigar tales debilidades.
No puedes. Al utilizar las técnicas de Scripting entre sitios (XSS) , solo puede recuperar información de los clientes.
Lea otras preguntas en las etiquetas web-application xss file-inclusion