Jother技巧总结:哎呀,这玩意儿可真让人又爱又恨啊!
引言:初见Jother,我是懵的
说实话,第一次接触Jother编码的时候,我整个人都是崩溃的,你猜怎么着?那一串看起来就像乱码的 之类的符号,简直比我前任的心还难猜!但嘿,等我真正静下心来研究了一番,才发现这玩意儿简直就像个调皮的小精灵,看着混乱,实则套路满满,今天咱们就来好好唠唠Jother技巧的精髓,保证让你看完直呼“原来如此”!

Jother到底是什么鬼?
咱先别急,Jother说白了就是一种基于JavaScript的极简编码技巧,全称其实是“JSFuck”的变种,专门用 、、、 这几个符号组合出任何JavaScript代码,哎呀,你想想看,当年我第一次看到别人用它写出 alert(1) 的时候,那叫一个目瞪口呆啊!这哪是编码啊,简直是魔法好不好?
而且啊,Jother最牛的地方在于,它压根不需要数字和字母,全靠运算符和数组的隐式类型转换。 得到0, 得到false,再用 拼接,嘿,就能凑出数字和字符串了,你说神奇不神奇?
核心技巧大拆解:我踩过的坑,你别再踩了
从空数组到数字:基础中的基础
咱们先来点简单的。 结果是0,这个好理解吧?那 呢?哎呀,这就是1啊!因为 是false, 就是true,前面再加个 就变成1了,我第一次试的时候,愣是盯着屏幕看了半天,心想:这他喵的也太聪明了吧!
然后啊,数字2怎么搞?简单!,两个true相加就是2,依此类推,数字都能这么拼出来,但你要说拼到10以上?那代码长度可就感人肺腑了,所以啊,咱们一般会用数组拼接字符串再转数字, 这种,哎呀,先别晕,慢慢来,我当初也是晕了好几天才缓过来的。
字符串的奥秘:从true到一切
你发现没? 转成字符串就是 "false", 转成字符串就是 "true",利用这个,咱们就能提取字母了! 就能拿到 "f",嘿嘿,是不是有点感觉了?
但这里我要吐槽一下,取字母的时候,索引千万注意啊!我一开始老是搞混数组和字符串的索引顺序,结果写出来的代码跑都跑不动,气得我差点摔键盘,后来我学乖了,直接把 看成“取第几个”, 是第0个, 是第1个,这样就好记多了。
组合技:构造任意字符
好啦,既然数字和字母都有了,那咱们就能通过 加下标的形式,从已有的字符串里抠出我们想要的字符,比如从 "false" 里抠出 "a"、"s"、"e",从 "true" 里抠出 "t"、"r"、"u",但要是碰到 "c"、"m"、"p" 这种咋办?哎呀,那就得靠 Function 构造器了!
对,你没听错,[]["filter"]["constructor"]("return ...") 这种神操作,能直接把字符串当成代码执行,我第一次跑通这个的时候,激动得连拍了好几下大腿!不过呢,这里头的嵌套关系特别容易搞乱,我建议你写的时候,每一步都打印出来看看,别像我一样,闭着眼写,结果报错报得怀疑人生。
让代码跑起来:最后的临门一脚
咱们攒了这么多字符,总得让它干活吧?Jother常用的执行方式是 []["filter"]["constructor"]("alert(1)")(),意思是取到Function构造函数,再传入字符串,最后加括号调用,哎呀,这一串跟绕口令似的,但效果杠杠的!
不过我得提醒你一句,有些环境(比如新版本的浏览器)可能会对Function构造器搞限制,这时候就得换其他方式了,比如用 [].sort 之类的,总之啊,灵活运用才是王道,一根筋可不行。
Jother的实战场景:别只会炫技啊!
前端XSS绕过
有些网站做了简单的过滤,把 alert、script 都屏蔽了,这时候Jother就派上用场了,因为你的payload全是 这种符号,过滤规则根本认不出来!我记得有一次测试一个老系统,我直接用Jother弹了个cookie出来,那成就感和中了彩票似的。
代码混淆与安全研究
在研究恶意代码的时候,经常能看到Jother的影子,哎呀,说实话,拆解别人的Jother代码比我写Jother还费劲,因为你得一层层地解包,大脑CPU都要烧了,但每当拆解成功,那种破案般的快感,又让我乐此不疲。
面试装X利器(慎用)
你要是敢在面试官面前用Jother写个“Hello World”,对方十有八九会愣住,不过我用亲身经历告诉你,这招偶尔用用可以,可别当饭吃,不然人家觉得你太偏门,反而不好。
避坑指南:这些错误我全犯过!
- 别忽略隐式类型转换顺序: 和 看着像,结果差远了!你算算看,前者是 ,结果1;后者是 ,结果是true,哎呀,真是差之毫厘谬以千里!
- 注意取字符时的索引边界:
"false"只有5个字符,你取索引5那就out of range了,直接报错。 - 别在控制台外随便执行:Jother生成的代码虽然无害,但如果你里面塞了死循环或者删库命令,那可就哭都来不及了,我建议先在虚拟机或浏览器无痕模式里测试,安全第一!
Jother技巧,值得你花时间
好了,唠了这么多,咱们也该收个尾了,Jother技巧总结起来无非就是:用造数组、用取反、用转数字、用括号分组,然后从布尔值字符串里抠字符,最后用Function构造器完成执行,哎呀,听起来是不是特别简单?
但真的操作起来,那真是“一看就会,一做就废”的典型代表,不过没关系,多练几次,你也会像我一样,从一开始的抓耳挠腮,到后来的嘴角上扬,这玩意儿不仅仅是个编码技巧,更是一种思维体操,锻炼你在极端条件下解决问题的能力。
最后啊,我想说,Jother技巧总结得再多,也没你自己动手写一遍来得实在,赶紧打开浏览器控制台,试试用 能不能弹出个1吧!要是成功了呢,记得回来给我点个赞,要是失败了……嘿嘿,那你就再看一遍我的文章,肯定是你哪儿漏了一步!
祝你好运,咱们代码江湖见!😄