[技巧收藏]javascript大小写转换的特性
这里做个记录
这种特性可以用于绕过XSS等(可能一些CTF中会遇到这种奇葩)
JavaScript的toUpperCase()和toLowerCase()2个函数在转换时,会出现一些特殊字符也会转成字母的(大小写)
比如:"ı".toUpperCase() == 'I' 这里不是"i"
为了看清楚 如下图:
我们可以清除的看到 这个i的ascii码是105 而另一个是305
FUZZ就不必了 大神已经搞完了 这里只是记录
toUpperCase()转大写时有下面2个字符 "ı".toUpperCase() == 'I' ascii码:305 "ſ".toUpperCase() == 'S' ascii码:383
toLowerCase()转小写也有2个字符"K".toLowerCase() == 'k' "K".charCodeAt() = 8490 这是个闪光的K 而真正的K是75的ascii
0130 String.fromCharCode(0130).toLowerCase() == 'x' 返回为真 可以测试
在原文的评论中有大牛提到
toLowerCase()还有个U+0130(这个已经添加到前面了)
参考:
http://zone.wooyun.org/content/15388