11Mar/111
非字母数字的JavaScript
由非字母数字组成的JavaScript,这是几年前一个日本安全专家Yosuke Hasegawa在slackers论坛上提出的。这种技术主要是利用JavaScript的数据类型自动转换的特性,例如布尔类型true、false可以转换成字符类型"true"、"false"。
现在我们利用上面这种技术来获取字母o,我们可以利用对象调用toString方法转换成字符串[object Object]来得到字母o。
1 首页我们需要获得对象字面量[object Object]:
[{}]+[]//[object Object]
2 得到数字0
+[]//0
3 得到数字1,在0的基础上增加1
++[+[]][+[]]//1
4最后合并上面代码,得到字母o
alert([[{}]+[]][+[]][++[+[]][+[]]])//"o"
如果对这方面感兴趣,可以阅读:
YAUC Less chars needed to run arbitrary JS code = 6! (JS GREAT WALL)
http://sla.ckers.org/forum/
Diminuitive NonAlNum JS - Arbitrary:-
http://sla.ckers.org/forum/
Java/script: no alnum cheat sheets:-
http://sla.ckers.org/forum/read.php?24,33349
Diminutive JS Code Challenge, from OWASP :-
http://sla.ckers.org/forum/read.php?24,30015
March 21st, 2011 - 15:29
这个要关注~