zl程序教程

您现在的位置是:首页 >  Javascript

当前栏目

看得我目瞪口呆的 JavaScript 代码技巧

2023-02-26 12:27:04 时间

js 是一门强大的语言。对黑客来说,这是绕过 WAF 的利器,比如当字母和数字都无被 WAF 屏蔽的时候,你可以这样玩:

1 = !+[]  = ++[[]][+[]]  2 = !+[]+!+[] = ++[++[[]][+[]]][+[]]  3 = !+[]+!+[]+!+[] = ++[++[++[[]][+[]]][+[]]][+[]] 

看得我目瞪口呆的 JavaScript 代码技巧

(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>

a 的获取方式 false[1] 或者是 NaN[1]

false = ([![]]+[])

// 空的 array, NOT 一下,加上中括号后再通过+[] 转化成 string

1 = ++[[]][+[]]

//前面解释过了,或者用!+[] 也可以。

于是 a 可以用这个表达:([![]]+[]) [++[[]][+[]]]

同理 l 的是 false[2], 等于 ([![]]+[])[++[++[[]][+ []]][+[]]]

看得我目瞪口呆的 JavaScript 代码技巧

e 是 false[4], r 和 t 通过 true 来获得,而 true 就是 false 去掉 NOT 符号的结果

最后 alert 也就是这个:

(+[][+[]]+[])[++[[]][+[]]]+([![]]+ [])[++[++[[]][+[]]][+[]]]+([!![]]+ [])[++[++[++[[]][+[]]][+[]]][+[]]]+ ([!![]]+[])[++[[]][+[]]]+([!![]]+ [])[+[]]

看得我目瞪口呆的 JavaScript 代码技巧

还有一些比较复杂的字母需要绕一下,比如说 window 对象 的构造:

(1,[].sort)() = window

sort 的 s 通过 false, r t 通过 true, o 通过 [object Object]

于是 window.alert(1) 就是如下代码:

([],[][([![]]+[])[++[++[++[[]][+[]]][+[]]] [+[]]]+([]+{})[++[[]][+[]]]+([!![]]+[])[++ [[]][+[]]]+([!![]]+[])[+[]]])()[ (+[][+[]] +[])[++[[]][+[]]]+([![]]+[])[++[++[[]][+ []]][+[]]] +([!![]]+[])[++[++[++[[]][+[]]] [+[]]][+[]]]+([!![]]+[])[++ [[]][+[]]]+ ([!![]]+[])[+[]]](++[[]][+[]] "],[][([![]]+[])[++[++[++[[]][+[]]][+[]]] [+[]]]+([]+{})[++[[]][+[]]]+([!![]]+[])[++ [[]][+[]]]+([!![]]+[])[+[]]])()[ (+[][+[]] +[])[++[[]][+[]]]+([![]]+[])[++[++[[]][+ []]][+[]]] +([!![]]+[])[++[++[++[[]][+[]]] [+[]]][+[]]]+([!![]]+[])[++ [[]][+[]]]+ ([!![]]+[])[+[]]")

如果你想开发小程序或者了解更多关于小程序的内容,欢迎关注厦门在乎科技-专注厦门小程序开发公司、app开发、网站开发、H5小游戏开发

看得我目瞪口呆的 JavaScript 代码技巧


本站部分内容转载自网络,版权属于原作者所有,如有异议请联系QQ153890879修改或删除,谢谢!
转载请注明原文链接:看得我目瞪口呆的 JavaScript 代码技巧

你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:

1、点击这里立即申请成为腾讯云VIP客户

2、点击这里立即注册成为天翼云VIP客户

3、点击这里立即申请成为华为云VIP客户

4、点击这里立享阿里云产品终身VIP优惠价

喜欢 (0)
[[email protected]]
分享 (0)