trace方法引起的xss漏洞

HTTP定义了一组请求方法,以表明要对给定资源执行的操作。指示针对给定资源要执行的期望动作。 虽然他们也可以是名词, 但这些请求方法有时被称为HTTP动词. 每一个请求方法都实现了不同的语义。其中,TRACE方法沿着到目标资源的路径执行一个消息环回测试。

关于TRACE方法

客户端发起一个请求时,这个请求可能要穿过防火墙、代理、网关或其他一些应用程序。每个中间节点都可能会修改原始的 HTTP 请求。TRACE 方法允许客户端在 最终将请求发送给服务器时,看看它变成了什么样子。

TRACE 请求会在目的服务器端发起一个 环回 诊断。行程最后一站的服务器会弹回一条 TRACE 响应,并在响应主体中携带它收到的原始请求报文。这样客户端就可以查看在所有中间 HTTP 应用程序组成的请求 / 响应链上,原始报文是否,以及如何被毁坏或修改过。

测试用例

某应用程序服务端启用了TRACE方法,先看原始请求/响应数据,如下图所示:

响应主体中携带它收到的原始请求报文:

原始响应下会下载一个未知格式的文件。因此此例中需要除了需要在请求头中构造恶意脚本以外,同时篡改客户端解析类型和方式,将响应中的Content-Type:message/http,改为Content-Type:text/html,如下图:

从而使得客户端成功执行构造的脚本:

CST与XSS的联系和区别:

联系:CST是XSS的一种子类,也属于XSS跨站漏洞。

区别:浏览器请求的方式不一样,普通的XSS一般通过GET和POST方式在页面上输入攻击脚本实现,但是CST如果要在页面上输入,需要找到会通过TRACE发送的输入点,一般是自己构造攻击报文在TRACE方法中进行发送。

测试相关:

由于普通的XSS攻击报文可以通过GET或者POST被提交,而CST则要通过TRACE来提交,由于比较少用,目前还未搜索到有页面输入框可以使用TRACE提交的。因此对它的测试需要注意,攻击脚本中需要自己提供发送函数,比如使用XMLHttpRequest发送请求(当然普通的XSS攻击也需要覆盖用XMLHTTPRequest发送GET、POST请求)。

测试总结:对CST的测试只需要将普通XSS的攻击特征脚本放在HTTP的TRACE位置发送出去即可。

TRACE请求引起的反射型XSS漏洞 - 麦田里的守望者- - 博客园

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
XSS(Cross-site scripting)跨站脚本攻击,是一种常见的Web攻击方式,攻击者通过在网页中注入恶意脚本代码,使得用户在浏览网页时执行这些脚本代码,达到攻击的目的。 XSS攻击的原理是,攻击者在网页中注入恶意脚本代码,当用户访问这个网页时,恶意脚本代码会被执行,从而达到攻击的目的。攻击者可以通过XSS攻击来窃取用户的敏感信息、绕过网站的访问控制、劫持用户会话、篡改网页内容等。 XSS漏洞的挖掘方法一般包括以下几个步骤: 1. 扫描目标网站:使用一些扫描工具,如Burp Suite、OWASP ZAP等,对目标网站进行扫描,找出可能存在的XSS漏洞。 2. 注入恶意脚本代码:在目标网站的输入框中注入恶意脚本代码,如<script>alert("XSS漏洞");</script>,并提交表单。 3. 检查注入的恶意脚本代码是否生效:在提交表单后,在网页中查看是否弹出了XSS漏洞的测试弹窗。如果弹出了,说明注入的恶意脚本代码生效了,存在XSS漏洞。 4. 利用XSS漏洞:如果发现了XSS漏洞,攻击者可以利用这个漏洞来进行攻击,如窃取用户的敏感信息、绕过网站的访问控制、劫持用户会话、篡改网页内容等。 为了防止XSS漏洞的产生,网站开发人员可以采取以下措施: 1. 对用户输入的数据进行过滤和转义,将特殊字符进行转义,如<、>、&等。 2. 在Cookie中设置HttpOnly属性,禁止JavaScript访问Cookie,防止攻击者通过XSS攻击窃取用户的Cookie信息。 3. 在HTTP响应头中设置X-XSS-Protection属性,开启浏览器的XSS保护功能。 4. 对网站进行安全审计,定期检查网站是否存在XSS漏洞

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值