这是今年defcon上的一道200分的pwn题目,是一个linux 32位的elf程序,程序见附件 shitsco。
一、静态分析
首先运行程序,看大致程序的功能。如下图所示,这个程序提供了一个internet操作系统,支持一定的命令(enable,ping等)。

用ida分析程序,main函数:

main函数中主要有3个子函数。对这3个子函数依次分析。
第一个函数sub_80489d0:

很容易看出是读取了/home/shitsco/password中的内容,存入到804c3a0地址处。
第二个函数sub_8048c30:

这个函数主要是读取一行用户的输入。
第三个函数sub_8048a50:这个函数较为复杂,主要是对用户的输入进行解析。

首先观察ebp不是和平常程序一样作为栈帧使用,这里用了指向一块内存。而这块内存正好为系统支持的命令(enable)。
通过后面分析,发现此块内存为一个结构体数组,存储命令信息。

该结构体如下:
| 01 | struct CommandInfo |
| 02 |
| 03 | { |
| 04 |
| 05 | char *command;//命令名称,如enable |
| 06 |
| 07 | int unknown;//未见使用 |
| 08 |
| 09 | int Privilege; |
| 10 |
| 11 | int argc;//参数个数,如命令ping需要另一个参数 |
| 12 |
| 13 | pvoid handler; |
| 14 |
| 15 | } |
其中privilege是权限,如果为1表示命令需要enable成功后才能执行。内存804c3c0初始化为0,只有enable后,内存804c3c0才会变成1。

Handler表示该命令对应的处理函数。
最后以一个表统计了一下命令的信息:
|
Command |
Privilege | Argc | Handler |
| enable | 0 | 1 | sub_8049230 |
| ping | 0 | 1 | sub_80493E0 |
| tracert | 0 | 1 | sub_8049330 |
| ? | 0 | 1 | sub_80490C0 |
| flag | 1 | 0 | sub_8048D40 |
| shell | 0 | 0 | sub_8048CF0 |
| set | 0 | 2 | sub_80494A0 |
| show | 0 | 1 | sub_8048E50 |
| credits | 0 | 0 | sub_8048CA0 |
| quit | 0 | 0 | sub_8048CD0 |
| disable | 0 | 0 |
sub_8048CB0 |
版权与免责声明:
凡注明稿件来源的内容均为转载稿或由网友用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;

![英雄棋士团(预下载)?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/yingxiongqishituanyuxiazai.jpg)
![美食小当家?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/meishixiaodangjia.png)
![2047?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/2047.jpg)
![荣誉指挥官(预下载)?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/rongyuzhihuiguanyuxiazai.png)
![繁荣美食市场物语?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/fanrongmeishishichangwuyu.jpg)
![夸克浏览器 v4.2.1.138 好用的手机浏览器?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/kuakezuolanqi.jpg)
![移动办公软件 OfficeSuite Premium v10.18.28716 内购解锁版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/yidongbangongruanjian.jpg)
![乐秀视频编辑器 VideoShow v8.8.4 内购解锁版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/lexiushipinbianjiqi.png)
![X 浏览器 v3.3.9 一款小巧的安卓浏览器?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/x.jpg)
![安卓密码管理软件 Enpass v6.4.5.368 内购解锁版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/anzhuomimaguanliruanjian.jpg)
![差分复制同步 FastCopy-M v3.6.3.51 绿色便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/FastCopy3.png)
![多标签页拓展 Clover v3.5.2 Build 19809 精简绿色版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/Clover.png)
![文件重命名 Advanced Renamer v3.85 Lite 绿色便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/Advanced_Renamer.png)
![网络防火监控 GlassWire Elite v2.1.166 绿色便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/GlassWire.png)
![影音播放器 Daum Potplayer v1.7.20538 美化便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/PotPlayer.png)