• 如果您想对本站表示支持,请随手点击一下广告即可~
  • 本站致力于提供原创、优秀的技术文章~
  • 有任何疑问或建议 均可以在站点右侧栏处 通过各种方式联系站长哦~
  • CTF – RootMe解题报告 [Web-Client : Javascript – Native code]

    渗透测试 EXP 53阅读 0评论

    挑战入口:Root-Me(https://www.root-me.org/en/Challenges/Web-Client/Javascript-Native-code)
      分类目录:Link to …(http://exp-blog.com/2019/01/02/pid-2597/11/)

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

    打开页面弹出了一个交互框,然后强制提交了,再报错 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 条件找到了密码,完成挑战。


    转载请注明:EXP 技术分享博客 » CTF – RootMe解题报告 [Web-Client : Javascript – Native code]

    喜欢 (0) 分享 (0)
    发表我的评论
    取消评论

    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址