安全-渗透事记

Posted 小狐狸FM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全-渗透事记相关的知识,希望对你有一定的参考价值。

文章目录

前言

信息较敏感,仅文字记录
某单位的授权渗透测试,请勿用于非法用途

MIME类型 - HTTP | MDN

TRACE - HTTP | MDN

一、漏洞

TRACE方法导致的XSS

二、渗透测试

先访问网站并用burpsuite抓包,发送到重放模块里面测试
修改一下GETOPTIONS后发现没有回显Allow参数

之后用AWVS扫了一下,发现开启了TRACE方法
所以又重新抓包修改成TRACE方法,在重放模块中发现返回包中会返回请求的内容

因为要在浏览器看一下内容,所以不能搞到重放模块里
先抓包将GET修改成TRACEforward发送一下请求,然后浏览器会出现一个下载的弹窗
下载下来的内容就是返回包的内容

之所以不在浏览器直接显示,是因为TRACE方法的返回包Content-Type值默认为message/http
需要修改Content-Type的值为text/html才能在浏览器显示

burpsuite里面右键选择Do intercept > Response to this request抓取当前请求的返回包
Content-Type的值修改成text/html后就能将请求内容回显到浏览器,注意参数和值中间需要有空格

如果要弹xss的话,可以在原有的请求头中添加一句<svg onload=alert(123)>
可以构造类似如下的请求头,在Accept-Encoding参数中写入代码
也可以自己新写一个参数test,再填入值
但如果请求头的格式错误,请求就没法被服务器识别了(这就是为什么不直接写xss,而是作为某个参数的值)。

TRACE 路径 HTTP/1.1
..省略..
Accept-Encoding: gzip, deflate<svg onload=alert(123)>
test: <svg onload=alert(444)>
..省略..

然后修改返回包的内容,再放包就弹窗了

..省略..
Content-Type: text/html
..省略..

TRACE 路径 HTTP/1.1
..省略..
Accept-Encoding: gzip, deflate<svg onload=alert(123)>
test: <svg onload=alert(444)>
..省略..

三、修复建议

禁用TRACE方法

以上是关于安全-渗透事记的主要内容,如果未能解决你的问题,请参考以下文章

安全-渗透事记

安全-渗透事记

安全-渗透事记

安全-渗透事记

安全-渗透事记

安全-渗透事记