今天在某技术群里看到大家都在讨论一个技术文章 记录一次有点儿不一样的XSS 然后就点击去看了下,看完后有了这样的思考就随手记录下来。
这个文章的具体内容我就不贴了,上面有超链接。
这里截取下重点,大概意思是域名 target.com 里面的代码如上图,功能就是把location.search传入,然后拼接域名后放到iframe的src里。如果这里是完全可控的话,那么这里就是一个xss,这是没问题的,因为这样就可以直接传入javascript:alert(1)即可。但是这里并不是完全可控的,因为最前面的target.com域名是写死了的,但是前面写域名的最后没有给加问号? 所以导致攻击者可以用 target.com.evil.com 的方式去拼接成另一个域名。
然后本来到这里这个漏洞就已经结束了,这就是一个很普通的URL跳转漏洞。应该说是半个URL跳转漏洞吧,为什么呢?因为它连一个都算不上,比如要跳转到www.baidu.com网站,还必须先跳转到自己的那个域名,然后再跳转到www.baidu.com去。
然而作者比较的不一样,他并没有就此结束,如果就这么结束的话,这种普通漏洞分析文章也不会被大家所看到的。具体就是作者在后面又写了一大堆完全没啥用的东西,详情可以看原文。最终给了个弹窗的截图,表示他绕过了这个限制进行了XSS攻击。
看到这里我就尴尬了,这压根就不是XSS漏洞啊。弹窗的域名根本就是自己的域名,简单的来说,就是域名target.com的网站iframe嵌套了下他的这个target.com.evil.com域名的网站,然后他在自己的这个域名页面写了个alert而已,既然是自己的域名了,那肯定是想怎么写就怎么写了。但是结果就是自己X自己而已,根本不是什么“有点儿不一样的XSS”,压根连个XSS漏洞都不是,仅此而已。
然后作者最后还总结了一下,主要总结了2点。一个就是表示他之前提交的XSS都很常规,这个很“不一样”,所以厂商还给了个双倍的积分。另一点就是总结了下“平时自己还是要多多理解漏洞产生的原因才是”,也是另一方面展示自己这个漏洞理解的很深刻所以才找到了这么一个“不一样的漏洞”。
“平时自己还是要多多理解漏洞产生的原因才是”,这点我是非常认同的,但是兄弟啊,你这最基本的概念都没搞明白,你这也太尴尬了吧。
最后再思考下几点。
1 这个白帽子对漏洞理解的问题。
2 这个SRC的审核人员的问题。
3 这个文章审核的人的水平问题。
引用下某技术群里的某位大佬的话。
尾巴:现在很多文章的质量真的太水了,这样真的会导致很多初学者在学习的过程中,被严重的误导。还是希望在这个“安全娱乐圈”为主流的时代,有更多的纯技术文章的干货分享吧。