0X01 OWASP WebGoat Splitting

  • 什么是HTTP Splitting 

  HTTP 拆分攻击又名CRLF注入攻击。即是发送一个或几个HTTP指令迫使漏洞服务器产生一个攻击者构想好的输出。可以让服务器误把几条HTTP请求。当作一次完整的HTTP请求来解释。攻击者完全控制第二条HTTP请求,在第二条请求中加入请求指令到目标系统。第一部分使服务器接受两个HTTP响应,第二部分即是在服务器上请求一些非法资源,而服务器将会自动匹配到第二次响应,输出攻击者想要请求的资源,从而达到攻击者的目的。

  HTTP请求是基于请求---响应的请求,当浏览器发出请求,HTTP服务器返回响应,浏览器根据响应再发出请求,依次类推。但需要知道的是,响应的返回通常是基于队列的形式

  • HTTP Splitting 核心
    • 输入的参数没有过滤。主要是(%0D和%0A 行首,换行)
    • 参数放入请求头当中
    • 重定向(302重定向)
  • 什么是重定向响应:

 

  • 举例:

  接下来的例子采用的是owasp webgoat 实验环境举例。下面看操作步骤:

  1.   首先我们需要判定是否存在这个HTTP Splitting 漏洞。它形成的主要原因是应用程序没有对换行等字符进行处理。那么,我们先随意输入下列字符:‘en%0d%0a’,使用抓包工具开查看结果:从结果我们可以看出存在一个HTTP Splitting 漏洞

 

   2.  既然服务器可以返回我们输入的值进入请求头当中,且没有做任何的处理。那么我们就可以构造请求值并且让服务器返回回来。接下来,我们先补充一下概念:

content-length:0  :当响应队列读取到第一个content-length:0的时候,会认为这个响应已经结束接着向浏览器发出,而把之后的内容留在了响应队列里。而后面的内容是我们精心构造的内容,正好又形成了另外一个响应,当浏览器根据重定向的地址请求访问的时候,后面这个响应正好发出

这个时候我们开始构造我们需要服务器返回的响应。现在我们将下面的值进行URL编码来发送给服务器。

en

Content-Length: 0



HTTP/1.1 200 OK

Content-Type: text/html

Content-Length: 31

<html>hacked successfully</html>
en%0D%0AContent-Length%3A%200%0D%0A%0D%0AHTTP%2F1.1%20200%20OK%0D%0AContent-Type%3Atext%2Fhtml%0D%0AContent-Length%3A%2031%0D%0A%3Chtml%3E%20hacked%20successfully%3C%2Fhtml%3E

输入值之后,我们抓包来查看信息:

请求包:

 

 

返回包:

 

 从返回包我们发现这是一个重定向返回包,那么接下来浏览器会自动在发送一个请求。接下来我们查看查看自动请求的包:我们有发现,我们输入的值再次被发送。

 

 自动请求包的返回包查看,

 

 

 在返回包当中我们发现,我们精心构造的内容被服务器返回回来了。接下来,我们准备Cache Posioning

  3.  在进行攻击之前,我们先了解一下新的请求头:Last-modify

  比如在构造的http 200请求中加入Last-modify字段,并设置一个将来的值比如2020年1月1日。意思是服务器告诉浏览器,这个网页最后一次修改在2020年1月1日的时候。然后如果浏览器不清除缓存,下一次仍然请求这个页面的时候,它会加上if-modify-since字段,并且值是2020年1月1日,也就是说浏览器会问服务器,这个网页在2020年1月1日之后修改过嘛?当然服务器是人的话肯定会对这个问法莫名其妙,怎么会传过来一个未来的值?但是因为是程序,服务器会比对最后一次修改时间和传过来的时间,发现传过来的时间较新(都是未来了,肯定新),就会回发304响应,即not modify,表示这个网页没有被修改过。浏览器接受到了这个响应会从本地缓存读取网页,当然是我们之前注入的错误网页。换句话说,如果浏览器不清除缓存,再也别想读取到正确的网页信息了。
  接下来,我们修改一下“值”
en

Content-Length: 0



HTTP/1.1 200 OK

Content-Type: text/html

Last-Modified: Mon, 27 Oct 2051 14:50:18 GMT

Content-Length: 31

<html>hacked successfully</html>

编码之后发送

这个时候,我们查看一下界面,

 

 

 

 

 

posted @ 2020-05-21 14:21  天象独行  阅读(295)  评论(0编辑  收藏  举报