Posible vulnerabilidad de secuencias de comandos entre sitios, el sitio acepta pero devuelve una respuesta vacía cuando se envía una secuencia de comandos completa

0

Tengo un parámetro, llamémoslo p que normalmente acepta true o false como una cadena.

Puedo enviar el siguiente comando y se imprimirá, lo único que impide que el script se ejecute es el signo % después de < .

p=true<%img%20src%3d"x"%20onerror%3dalert(document.cookie);>

Y aquí está el problema, solo puedo enviar scripts que no se ejecutarán. Si envío html / script correcto, el servidor devuelve HTTP/1.1 200 OK pero con una respuesta vacía. Pero como el servidor acepta <> , no quiero rendirme todavía.

A partir de las respuestas que he enviado, creo que < debe ir seguido de un carácter no alfabético para que se ejecute el código, o %** , excepto por algunos valores, por ejemplo, %2f y %21 . Puedo enviar valores codificados en URL que se imprimen como texto sin cifrar en la aplicación, pero ningún carácter alfabético que haya intentado funciona, por ejemplo, %73 para s devuelve una respuesta vacía.

¿Alguna idea de que puedo probar más?

Muestra de las cosas que he probado:

Respuesta a respuesta de solicitud:

<%img%20src%3d"x"%20onerror%3dalert(document.cookie);>
<%script>alert(1)<%/script>
<"script>alert(1)<"/script>
<%A1cript>alert(1)<%A1script> 
<%script>alert(1)<%2escript>
<%script>alert(1)<"%2fscript>
<%script>alert(1)<%20script>
<%script>alert(1)<%30script>
<%script>alert(1)<%40script>
<@script>alert(1)<@/script>
<1script>alert(1)<1/script>

Respuesta vacía:

<img%20src%3d"x"%20onerror%3dalert(document.cookie);>
<script>alert(1)</script>
<%script>alert(1)</script>
<script>alert(1)<%/script>
<%73cript>alert(1)<%2Fscript>
<%script>alert(1)<%2fscript>
<%script>alert(1)<%21script>
<%script>alert(1)<%50script>
<%00script>alert(1)<%script>

Si envío solicitudes con %0* o %1* , obtengo: HTTP/1.1 500 Internal Server Error . Sin embargo, el error que se imprime indica Bad Request

<%script>alert(1)<%1escript> 
  

400 Bad Request - carácter XML ilegal   encontrado entre los argumentos: facetas:   p: <% script > alert (1) < \ u001Escript >

    
pregunta Ogglas 16.01.2017 - 13:49
fuente

0 respuestas

Lea otras preguntas en las etiquetas