ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

反射XSS和CORS漏洞组合拳

反射XSS和CORS漏洞组合拳 反射XSS和CORS漏洞组合拳漏洞挖掘过程中经常会碰到一些利用场景相对困难且危害十分有限的漏洞。还有就是有一定危害性但是普遍被定为低危的反射型XSS漏洞在测试过程中碰到这类漏洞真的是内心复杂提交平台就是低危不交吧漏洞又确实存在安全风险。那么如何把这些“鸡肋漏洞”的危害提升一个档呢接下来就是变废为宝的操作。0x01 反射型XSS反射型XSS一般存在于可直接将外部输入在浏览器输出的功能之中例如搜索、文章分类、选择时间等参数直接输出在URL中。一般来说小厂商对反射型XSS的关注并不多早些年反射XSS很多平台都是不收的。只有一些大厂商对反射XSS还有一定关注度但是因为反射XSS需要用户配合点击构造后的URL才可以实现攻击利用手法上和危害都有限所以一般都是按低危处理。反射XSS被用的最多的基本就是获取cookie通过cookie欺骗登录受害者账号一般也都是拿来钓鱼。另外反射XSS和CSRF配合也是比较常见的组合拳打法漏洞危害同样不小。0x02 CORS漏洞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跨域的请求只需在过滤条件中输入Access-Control-Allow-Origin: foo.example.orgAccess-Control-Allow-Credentials: true另外需要注意的是如果服务器配置为Access-Control-Allow-Origin: \Access-Control-Allow-Credentials: true不能证明漏洞存在因为浏览器会自动拦截掉非认证域的请求。漏洞利用假设用户在网站foo.com处于登录状态同时用户又点击了我们配置好的链接evil.com。evil.com的网站向foo.com这个网站发起请求获取敏感数据那么浏览器能否获取到foo.com中的敏感数据完全取决于foo.com配置。如果foo.com配置了Access-Control-Allow-Origin为允许接受跨域请求则我们的evil.com就能获取到敏感数据否则浏览器会因为同源策略接收不到敏感数据。关于CORS漏洞可使用开源工具CrossSiteContentHijacking验证0x03 鸡肋XSS和CORS组合拳以KEY师傅的Dorabox靶场模拟漏洞利用首先验证反射型XSS存在。然后CORS也同时存在假设传递了敏感参数因为CORS跨域资源获取漏洞存在那么我们可以通过让用户点击我们自己服务器上搭建的payload环境获取到敏感数据但是很明显这样的漏洞利用姿势成功的概率太小这年头隔壁卖烤红薯的大爷都知道不要点陌生链接了所以我们需要反射XSS的配合。首先我们构造能够通过CORS跨域获取到敏感数据的JavaScript代码类似于这样1. script 2. function cors() { 3. var xhttp new XMLHttpRequest(); 4. xhttp.onreadystatechange function() { 5. if (this.status 200) { 6. alert(this.responseText); 7. document.body.innerHTML this.responseText; 8. } 9. }; 10. xhttp.open(GET, http://localhost:801/DoraBox/csrf/userinfo.php, true); 11. xhttp.withCredentials true; 12. xhttp.send(); 13. } 14. cors(); 15. /script简单分析一下首先创建了一个cors()函数这个函数首先判断当前的访问状态如果是正常访问(即状态码为200)则获取_http://localhost:801/DoraBox/csrf/userinfo.php_文件的body下的全部内容(也可以根据ID获取)并弹框展示出来。现在我们只需要把反射XSS的payload替换为利用CORS跨域获取敏感信息的payload即可程序成功执行。总结至此反射XSS和CORS配合成功获取到用户敏感数据虽然同样需要用户点击才能触发但是漏洞危害足够大如果是一些大厂的有敏感信息的站点一般都会给高危。其实漏洞挖掘的乐趣就在于不断的发掘有趣的利用姿势在遇到一些看似“鸡肋”的漏洞时可以不用忙着提交多思考一下是否可以和其他漏洞形成组合拳这样技术才会有上升的空间漏洞危害也会因此而提高相应的白帽子能获得的收益也最大。如何系统学习网络安全网络安全作为数字时代的核心技术基石已成为保障各行业安全稳定运行的坚实屏障。筑牢网络安全的防线掌握先进的防护策略和技能正上升为国家与企业发展的战略优先级。构建稳固的网络安全能力是一个体系的工程需要从夯实基础理论出发持续深化到攻防对抗与应急响应的实战层面。如果你是准备学习网络安全黑客或者正在学习我可以把我自用的360独家内部资料分享给你包含以下内容你应该能用得上①网络安全学习路线②20份渗透测试电子书③安全攻防357页笔记④50份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100个漏洞实战案例⑧安全大厂内部视频资源⑨历年CTF夺旗赛题解析一、网络安全黑客学习路线网络安全黑客学习路线形成网络安全领域所有的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。二、网络安全教程视频我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。三、网络安全CTF实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这里带来的是CTFSRC资料HW资料毕竟实战是检验真理的唯一标准嘛~四、网络安全面试题最后我们所有的作为都是为就业服务的所以关键的临门一脚就是咱们的面试题内容所以面试题板块是咱们不可或缺的部分这里我给大家准备的就是我在面试期间准备的资料。网安其实不难难的是坚持和相信自己我的经验是既然已经选定网安你就要相信它相信它能成为你日后进阶的高效渠道这样自己才会更有信念去学习才能在碰到困难的时候坚持下去。机会属于有准备的人这是一个实力的时代。人和人之间的差距不在于智商而在于如何利用业余时间只要你想学习什么时候开始都不晚不要担心这担心那你只需努力剩下的交给时间这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表