首页
论坛
专栏
课程

[调试逆向] [其他内容] [原创]XCTF 攻防世界 reverse 萌新入坑 alexctf-2017 re2-cpp-is-awesome writeup

2019-3-1 00:01 1736

[调试逆向] [其他内容] [原创]XCTF 攻防世界 reverse 萌新入坑 alexctf-2017 re2-cpp-is-awesome writeup

2019-3-1 00:01
1736
首先看下题目描述,C++语言编写,应该会有很多类吧
下载后,发现为ELF文件,进入Ubuntu查看文件情况:

64bit 命令行程序,flag错误输出Better luck next time

接下来直接进入IDA查看程序逻辑:

因为是命令行程序,所以程序没有结束输入的语句,首先判断了一下用户有没有输入flag,接下来进入一个for循环,将flag逐字符与off_6020A0[dword_6020C0[v15]]进行比较
首先查看dword_6020C0处的数据情况:

不直观,查看HEX窗口:

dump之后为:
0x24,0x00,0x05,0x36,0x65,0x07,0x27,0x26,0x2D,0x01,0x03,0x00,0x0D,0x56,0x01,0x03,0x65,0x03,0x2D,0x16,0x02,0x15,0x03,0x65,0x00,0x29,0x44,0x44,0x01,0x44,0x2B
再看off_6020A0:


上python:
arr = [0x24,0x00,0x05,0x36,0x65,0x07,0x27,0x26,0x2D,0x01,0x03,0x00,0x0D,0x56,0x01,0x03,0x65,0x03,0x2D,0x16,0x02,0x15,0x03,0x65,0x00,0x29,0x44,0x44,0x01,0x44,0x2B]

str = 'L3t_ME_T3ll_Y0u_S0m3th1ng_1mp0rtant_A_{FL4G}_W0nt_b3_3X4ctly_th4t_345y_t0_c4ptur3_H0wev3r_1T_w1ll_b3_C00l_1F_Y0u_g0t_1t'

flag = ''
for i in arr:
    flag += str[i]
print(flag)
即:ALEXCTF{W3_L0v3_C_W1th_CL45535},提交,正确


[公告]安全测试和项目外包请将项目需求发到看雪企服平台:https://qifu.kanxue.com

上传的附件:
  • re2 (10.47kb,19次下载)
打赏 + 1.00
打赏次数 1 金额 + 1.00
 
赞赏  Editor   +1.00 2019/03/01 感谢分享~
最新回复 (2)
五天 2019-3-1 09:21
2
0
辛苦楼主码字
Editor 2019-3-1 10:29
3
0
666 
游客
登录 | 注册 方可回帖
返回