-
-
[原创]pwnable.kr dragon分析
-
发表于:
2017-5-19 12:53
4499
-
题目地址: http://pwnable.kr/bin/dragon
刚学linux pwn,来做一下题目
首先打开IDA,F5反汇编
看main函数里也没什么东西,直接进入PlayGame
这里要求选择英雄 牧师或骑士
这里选择3很瞩目,去看看
这里明显看到 system("/bin/sh");这句代码 但是要求输入
Nice_Try_But_The_Dragons_Won't_Let_You!才能执行,但是长度限制了,所以这里没戏,不过这里执行了system("/bin/sh"); 若能改变执行流程到这里,就能利用上
接下来进入FightDragon
这里首先申请了两块内存,观察下面的赋值,应该是两个结构,这里还有一个Count的全局变量,在前面的代码中并没有看到有对他赋值的地方,所以值未知,观察下面的判断,确定其作用是随机一个值,若该值为奇数,执行第一个分支,否则第二个分支。
其中和都是函数指针,进去看看有没有关于这两个结构的信息
可以看到这里有一个参数,可以从调用他的地方知道这是怪物数据结构的地址。
根据输出的字符串信息
与前面的赋值
可以推出monster结构,player的也类似 现在构造这两个结构体
然后重命名一下相关变量并设置结构类型
现在主要是看和这两部分
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)