
SpiderDemo第三十三题-JS Fuck
T33 JS Fuck
简单介绍一下js fuck这类混淆:
1 | JSFuck是一个基于JavaScript的元编程语言,它使只用六个基本字符: |
[]()+!来构建任何有效的JavaScript代码。这个项目灵感来源于Brainfuck,但不同的是,JSFuck创建的代码可以直接在任何支持JavaScript的环境中运行,无需额外的编译或解释器。
在线编码工具(http://jsfuck.com)

网站示例就是将alert(1)加密成jsfuck。
回到题目
一:抓包分析


能看到请求体和请求头实际只有一个加密点,也就是t
直接全局搜索x-caesar-token

翻页后断住
通过分析能看到这个是一个全局的值,这里可以直接通过jsrpc调用了,往上查看代码

看到了此函数有page、timestamp、type加一个jsfuck,因此此题目是jsfuck,我们可以断定,此处代码就是
也能通过如下方式去验证、断点jsfuck

执行jsfuck

二:加密代码分析
jsfuck变可视呢,我一般使用删除最后一个括号,然后执行



能看到得到实际函数,断住后就是扣代码了

直接先扣getDynamicShift()函数

执行只需要补一个window和引入一个crypto-js就好
调用返回值与浏览器一致


接下来扣caesarEncrypt



与浏览器一致
三:编码与验证

最后细看数值与显示其实是不一致的,依据提示的恺撒密码加密

找一下解密点,我是从请求头设置那里单步找到这个loadpagedata

进去函数

可以看到最后函数还是这个函数,只是将shift变成了-shift

更多内容也在公众号更新:码字的秃猴

本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自码字的秃猴




