XCTF--WEB Triangle

Triangle

查看源代码发现存在3个js代码。分别为:/unicorn.js /util.js /secret.js
在/secret.js中发现有三个函数。对其进行审计。
XCTF--WEB Triangle_第1张图片
在浏览器调试窗口直接运行get_pw()函数,可得到字符串XYzaSAAX_PBssisodjsal_sSUVWZYYYb,如图所示
在这里插入图片描述
分析enc_pw()函数我们发现题目是采用 ARM 构架的模拟器来实现加密函数,通过以下exp,可以获取到ARM的16进制码
XCTF--WEB Triangle_第2张图片
将得到的16进制码进行ARM转换,(在线转换地址http://armconverter.com/hextoarm/)如图所示
XCTF--WEB Triangle_第3张图片
同理可得到test_pw和enc_pw的ARM代码
了解到函数如何工作后,构造exp,得到最终要传入test_pw()内的字符串SWu_N? XCTF--WEB Triangle_第4张图片
构造最后的exp,得到 flag 为 flag:{MPmVH94PTH7hhafgYahYaVfKJNLRNQLZ}
XCTF--WEB Triangle_第5张图片

你可能感兴趣的:(CTF)