@心伤的瘦子 的21个鹅厂XSS案例从反射型XSS到DOM XSS再到Flash XSS最后到存储型XSS,用案例把各类XSS都讲了一遍读完之后感觉非常长见识,简单做了一点记录现在SRC基本不收反射型XSS,Flash应用也几乎絕迹着重看看存储型XSS叭ヽ(^。^)丿
某些时候程序员会在调用外部数据的时候带上可控的参数。
如果这个id我们可控将可能带来XSS问题。
在扫描过程中经常遇到下面的例子。【??? 怎么扫描,Bt5的/pentest/web/ 目录下,也有几款xss扫描器,@gainover 开发中的扫描器
如果这个地址是我们可控的话一样会带来威脅。地址的可控可以分为3个层面
script src="完全可控"
: 这种就简单了,直接将地址换为我们的JS地址
我们打开这个JSON用扫描反射型的方式,可以测试出
此外 dtag, 和 ranking 都在双引号里面,我们在后续无法进行利用而callback则在最前面,比较好控制
我们可以想象下,如果我们可以让这个页面调用:
那麼怎么让页面调用上面的情况呢
1 直接控制callback参数,但是从实际情况来看我们此处无法直接控制它,【失败】
上面说到的第2种方案似乎鈳行。但是实际上还是有问题的
譬如我们页面上的 type参数,对应着json的sclassid参数
我们首先能想到的是闭合掉 单引号, 但是这里单引号已经被过濾了
那么是不是就没有办法了呢?我们可以看到 setTimeout
的第一个参数是字符串;我们前面的教程里说过一次JS字符串中,字符还可以表示为unicode的形式即:单引号还可以表示为 \u0027
或 \x27
。带着这个想法我们可以试试 \
有没有被过滤。幸运的是这里还真没过滤 \
接着我们就是构造代码了。
鈳以找到这个FLASH
在我们自己网站的根目录下放置一个 " />
我们可以找到以下FLASH。
uin参数没有对任何字符进行过滤
正是由于这个点什么都没过滤,瀏览器自身的防御机制也最好发挥作用瞧瞧,chrome拦截了。
有的新手不知道有过滤器的,更是会觉得 “啊这是怎么回事,怎么不行啊明明可以的。”
我们只要看到console里有上面那句,就说明 chrome的过滤器大发神威了!!
那么怎么绕过呢 这里直接说方法。
首先要求缺陷点尣许
<
, >
。其次要求缺陷点的后方存在 </script>
标签。 我们看看当前的这个点的代码
那么我们已知了这个过滤规则, 就有2种绕过的方式
找到一个域名下存在缺陷的FLASH,然后加以利用
此方法,已经在 @gainover 的 有所介绍了
发布日志,使用以上代码
当用户访问含有XSS代码的日志后我们可以在xsser.me查看所记录的cookies内容。
仅IE9, 10 受影响QQ空间/校友同时受影响。
反正……见框就插叭广撒网,总能捡着洞的……
找个地方发出去 然后保存到手机
伱对这个回答的评价是
你对这个回答的评价是?
下载百度知道APP抢鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。