XCTF Triangle writeup(js 代码逆向)

主要参考链接:https://lim1ts.github.io/ctf/2017/10/19/hackluTriangles.html

其他参考链接:https://wu.rot26.team/CTF/Hacklu/2017/web/triangle/

https://www.vhn.vn/blog/index.php/2017/10/19/hack-lu-2017/

过程:test_pw(enc_pw(userInput), get_pw())

get_pw()返回值固定主要逆向test_pw( , )和enc_pw(userInput)得到正确的userinput  

      

 

输入框函数:

Secret.js

 

观察get_pw()函数发现返回固定值,控制台输出

"XYzaSAAX_PBssisodjsal_sSUVWZYYYb"

观察enc_pw()函数发现写入内存指令在于_[o2[a]],与用户输入无关,需要还原写入的内存指令,了解字符串处理过程以期逆向出正确输入的字符串

 

为了直接在控制台以16进制的形式输出写入内存的信息,模仿enc_pw()函数构造getARM1()函数、和将10进制转换为16进制的函数toHexString()

function getARM1(){

  var x = stoh(atob(getBase64Image("frei")));

  var output = new Array();

  for(var i = 0; i < o2.length ; i++){

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值