【Root-Me】 Javascript - Native code



水题,熟悉编码的样子就很容易做。

打开页面弹出了一个交互框,然后强制提交了,再报错 fail

打开浏览器开发者工具,切到 Network 找到名为 ch16.html 中的一段被混淆加密的 js 代码。

虽然 js 有很多种混淆加密方式(JsFuck、aaencode、jjencode等),这些加密方式都有明显的识别特征。但是讲真,这题的加密方式我也是第一次看到,Google也找不到是什么类型的混淆加密(有些大神怀疑是双重混淆)。不过就算不知道加密方式,也可以直接利用浏览器去解码(不然浏览器就不能运行这段 js 了)。

复制这段混淆的 js 代码,打开浏览器开发者工具,切到 Console,粘贴进去,回车运行,发现出现了第2步的交互框。说明这是一个 function 函数,刚刚我们通过 Console 控制台调用他了,那么我们让控制台把这个 function 函数打印出来就相当于解码了。

再次黏贴这段混淆的 js 代码到 Console, 然后删除末尾的括号 () 使其丢失 function 的语义(也可以把末尾的 () 改成 toString()),回车运行,此时 Console 就打印了 function 函数原文了。

从 function 函数的 if 条件找到了密码,完成挑战。


答案下载

flag 下载后的 flagzip 的文件需要手动更改后缀为 *.zip,然后解压即可(为了避免直接刷答案)


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 上一篇
【Root-Me】 Shift cipher 【Root-Me】 Shift cipher
来源:Root-Me 题型:Cryptanalysis 题目:Shift cipher 分数:10 Points 水题,题目就是提示,位移加密(其实就是凯撒加密)。 点击挑战后下载了一个 ch7.bin 文件,文件内容是乱码。 考虑到
2019-04-23
下一篇 
【Root-Me】 HTML - disabled buttons 【Root-Me】 HTML - disabled buttons
来源:Root-Me 题型:Web-Client 题目:HTML - disabled buttons 分数:5 Points 水题,其实标题就是提示,明显输入框和按钮都是处于不可用状态。 打开浏览器开发者工具,切到 Elements
2019-04-16
  目录