-
-
[原创]反射XSS和CORS漏洞组合拳
-
发表于:
2020-2-5 13:45
1366
-
漏洞挖掘过程中,经常会碰到一些利用场景相对困难且危害十分有限的漏洞。
还有就是有一定危害性,但是普遍被定为低危的反射型XSS漏洞,在测试过程中碰到这类漏洞真的是内心复杂,提交平台就是低危,不交吧漏洞又确实存在安全风险。
那么如何把这些“鸡肋漏洞”的危害提升一个档呢?
接下来,就是变废为宝的操作。
反射型XSS一般存在于可直接将外部输入在浏览器输出的功能之中,例如搜索、文章分类、选择时间等参数直接输出在URL中。
一般来说小厂商对反射型XSS的关注并不多,早些年反射XSS很多平台都是不收的。只有一些大厂商对反射XSS还有一定关注度,但是因为反射XSS需要用户配合点击构造后的URL才可以实现攻击,利用手法上和危害都有限,所以一般都是按低危处理。反射XSS被用的最多的基本就是获取cookie,通过cookie欺骗登录受害者账号,一般也都是拿来钓鱼。
另外反射XSS和CSRF配合也是比较常见的组合拳打法,漏洞危害同样不小。
2.1原理分析
CORS,跨域资源共享(Cross-origin resource sharing),是H5提供的一种机制,WEB应用程序可以通过在HTTP增加字段来告诉浏览器,哪些不同来源的服务器是有权访问本站资源的,当不同域的请求发生时,就出现了跨域的现象。
CORS漏洞存在的原因主要在于Access-Control-Allow-Origin参数配置失误,允许非同域站点访问本站资源。
2.2漏洞特征
利用burpsuite可以很方便的帮助我们测试网站是否可能存在CORS跨域漏洞。
a.为每个请求自动加上Origin头
重放后可以看到靶机返回Access-Control-Allow-Origin: foo.example.org,且成功获取到数据,则证明存在CORS跨域
b.在HTTP history中筛选可能存在CORS跨域的请求。
只需在过滤条件中输入:
1. Access-Control-Allow-Origin: foo.example.org
2. Access-Control-Allow-Credentials: true
另外需要注意的是如果服务器配置为:
1. Access-Control-Allow-Origin: *
2. Access-Control-Allow-Credentials: true
不能证明漏洞存在,因为浏览器会自动拦截掉非认证域的请求。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!