首页
社区
课程
招聘
[原创]pwnable.kr dragon分析
发表于: 2017-5-19 12:53 4500

[原创]pwnable.kr dragon分析

2017-5-19 12:53
4500

题目地址: http://pwnable.kr/bin/dragon

刚学linux pwn,来做一下题目

首先打开IDAF5反汇编

 

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期)

收藏
免费 1
支持
分享
最新回复 (1)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错,思路转折挺快
2017-5-30 09:53
0
游客
登录 | 注册 方可回帖
返回
//