首页
论坛
课程
招聘
[原创]CTF2017下半年第二题writeup
2017-10-28 11:50 2148

[原创]CTF2017下半年第二题writeup

2017-10-28 11:50
2148

Second writeup


0x00 前言

看雪 2017 下半年 TSRC CTF 第二题 writeup

0x01 正文

这道题坑了好久。。。。。。好不容易找到突破点后,发现作者的思路奇特,居然还有这种操作。

 

拿到题目后,乍一看就是输入后经过两个函数认证,满足两个二元一次方程组即可;但是这个方程组根本没有解,突破口不在这里,如果在这里解这两个二元一次方程组的话,就正好落入了作者的陷阱中(我就是- -!)。

 

然后在长时间的挣扎后,又在群里看大家奇特的思路,确实发现了 pwn 的味道,而突破口恰恰在这里,通过输入合适的字符串,控制 RETURN,然后跳转到目标位置进行执行;而因为本来的 RETURN 的值为 0x0040101C,通过这里可以推断出 flag 是 15 位的,同时 flag 必须是数字和字母,RETURN 的值就有了限制,即每一个 byte 都必须大于 0x20,小于 0x7F。

 

可是要跳到哪里执行呢?尝试了很多满足数字和字母的 push ebp 的位置,发现都不正确,然后重新翻了一下 IDA,发现了其中有一片 IDA 未还原出的代码,很有可能作者将认证函数写在这里,然后混淆后的,再看其地址 0x00413131,也满足要求,那就跳过去执行试试。

 

一大片 jo jno jmp 跳转,然后将输入的值放入了 ebx ecx edx 中,然后做 一系列运算,最后与 0xEAF917E2 进行 sub 运算,再 jz 跳转。很明显的认证函数,跟到这里,算是过了作者的知识点。

 

后面的步骤就是跟代码然后列方程,可以列出 3 个 三元一次方程,求解即可:

aaaa bbbb cccc 11A
x        y        z


((x - y) << 2) + x + z = 0xEAF917E2                1
((x - y) << 1) + (x - y) + x + z = 0xE8F508C8      2
((x - y) << 1) + (x - y) + x - z = 0x0C0A3C68      3
==============================
2 + 3 联立 求 z
z = 0x6E756630
==============================
将 z 带入后,1 + 3 联立  求  x  y
(x-y) * 4 + x = 0x7C83B1B2
(x-y) * 2 + x * 2 - y = 0x7a7fa298

x * 5 - y * 4 = 0x7C83B1B2
x * 4 - y * 3 = 0x7a7fa298
消元
x * 15 - y * 12 = 0x1758b1516
x * 16 - y * 12 = 0x1e9fe8a60
==============================
求解:
x = 0x7473754a
y = 0x726f6630
z = 0x6E756630

flag:
tsuJ rof0 nuf0 11A
Just0for0fun11A

 

Time: 2017.10.28


[培训]12月3日2020京麒网络安全大会《物联网安全攻防实战》训练营,正在火热报名中!地点:北京 · 新云南皇冠假日酒店

收藏
点赞0
打赏
分享
最新回复 (7)
雪    币: 56
活跃值: 活跃值 (58)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
gestic 活跃值 2017-10-28 12:12
2
0
每一个  byte  都必须大于  0x30吧,只能是数字和字母,最小是0
雪    币: 27
活跃值: 活跃值 (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
myoathxx 活跃值 2017-10-28 12:29
3
0
是的,哈哈
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
ZearoKaze 活跃值 2017-10-28 12:41
4
0
我是陷入陷阱直接爬不出的那种
雪    币: 6809
活跃值: 活跃值 (152)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
聖blue 活跃值 2017-10-28 22:26
5
0
不错!
雪    币: 256
活跃值: 活跃值 (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ming、 活跃值 2017-10-29 16:54
6
0
求下群号啊!
雪    币: 27
活跃值: 活跃值 (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
myoathxx 活跃值 2017-10-30 13:43
7
0
官方群啊-  -!。。
雪    币: 4
活跃值: 活跃值 (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
水火相容 活跃值 2017-11-8 14:25
8
0
可以可以
游客
登录 | 注册 方可回帖
返回