首页
社区
课程
招聘
[原创]看雪CTF2017第7题
2017-6-13 16:37 2585

[原创]看雪CTF2017第7题

2017-6-13 16:37
2585

1. 调试

OD加载, F9, 输入sn, 回车后异常, 在check处新建EIP

.text:004104CD check


2. 处理流程

smc解码00411B30处的代码

.text:00410532                 call    sub_410DD6
..
.text:00410558                 call    sub_411B30


表(xor cc, 记为map): EpY07v!Vwb2UnTu5SHP1Oazei9@kRZF8IrdCJcDQKs3mGMlgBqyfNXhAo4x6WjtL

char sn[20+1];
char buf[20];
for (int i=0;i<len(sn);i++)
{
		int n = get_index(map, sn[i]);
		int k=i+1;
		while(k--)
		{
				n = (n + 5 + n / 5) % 64;
		}
		buf[i]= ror(map[n], 5);
}


sn: 123456

buf: 5B C9 A2 4A BB A3

buf转4进制: 112330212202102223232203

结果与22030023012320022022232310222123222123232103222222031223200222220002102223021003比较

相同则sn参与smc解码并执行弹框


因为前面的转换会导致碰撞, 所以逆推后的结果不唯一

i=0: B
i=1: w j
i=2: n
i=3: d s
i=4: Y l A
i=5: b t
i=6: P i
i=7: H e
i=8: d c s
i=9: P i
i=10: y
i=11: 2 5
i=12: 0 g o
i=13: 1 a
i=14: 7 B 4
i=15: @ r K
i=16: J G X
i=17: 9 I D
i=18: O
i=19: k F


组合后输出, 挑顺眼的, 后面再保证smc解码正确即可

>>> BwnsAtPediy2017KX9Ok



[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回