免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > MP3 nator漏洞挖掘(2)

MP3 nator漏洞挖掘(2)

时间:2011-10-28 21:23来源:未知 整理:寂涯网络 点击:


件路径,去访问文件。但是由于缺乏接受的缓冲区大小限制,导致栈中缓冲区溢出。
下来列出的是程序的溢出点:

当程序调用 SendMessageBoxA的时候,栈的情况如下:
00428D76  |. 50              PUSH EAX                                ; |hWnd
00428D77  |. E8 38E3FDFF    CALL <JMP.&user32.SendMessageA>          ;
0012E998   001000FA  ú. .  |hWnd = 1000FA
0012E99C   00000189  ‰ ..  |Message = LB_GETTEXT
0012E9A0   00000000  ....  |Index = 0
0012E9A4   0012E9C4  Äé .  \Buffer = 0012E9C4
00428D67  |. 50             PUSH EAX
00428D68  |. 57             PUSH EDI
00428D69  |. 68 89010000    PUSH 189
00428D6E  |. 8B46 0C        MOV EAX,DWORD PTR DS:[ESI+C]
00428D71  |. E8 DECB0000    CALL MP3N.00435954
接收的缓冲区的首地址是 0x0012E9C4,和我们最开始的发现是相符的。在明白漏洞产
生的原因之后,接下来我们要做的工作就是构造栈空间利用漏洞。

漏洞的利用
 
  在构造输入文件之前,我们应该明确文件中的字符不能出现“0x0D  ”或“0x0A”这样
值的字符,其中输入文件的字符还会因为“0x00”而被截断。这些字符是不可以在我们的
playlaod 中出现的。 
  然后我们可以观察栈帧和 SHE 链的结构,以选择是采取直接返回地址的覆盖的方法呢,
还是直接覆盖 SEH的异常处理地址。栈帧和 SHE 链的结构分别如下:

  函数的返回地址是 0x0012F9CC,与缓冲区的入口地址 0x0012E9C4 相差 0x1008(4104)。
由于程序在调用 MessageBoxA 函数之后不是直接返回的,还会调用其他函数并且还会访问
0x0012F9C8 中的 EBP,在函数返回前会出现异常,所以如采用直接覆盖返回地址的方式是
不行的。因此本人决定采用覆盖 SEH的异常处理函数地址的方式来跳到 shellcode的地址,
并且该程序并没有开启 SafeSEH的保护,更减少了我们的负担。
  那么这个覆盖SE Handler的地址应该填什么?这就取决于我们定位shellcode的方式了。
为了通用性,我们不能硬编码一个地址,因为有的程序的栈空间运行在 12XXXXXX 的段,
有的运行在 13XXXXXX。为了能动态的定位,可以利用 jmp esp 的方法来实现。我们先填
一个任意的地址覆盖 SE Handler,然后对那个地址下断点。然后程序运行产生异常,Ctrl+F7
忽略异常后,程序断下来了,此时的 ESP的值是 0x0012E5C4。这个值比我们的缓冲区空间
的入口地址 0x0012E9C4 要小,所以应该找到 ADD ESP,XX  ;RET 这种类型的指令来增
加 ESP 的值,使之能够跳到我们装载 shellcode 的空间。在地址 0x10019C35 的地址处有一
条指令能够很好的满足我们的需求,它执行的指令是 ADD ESP,41C ;RET。那么再接一
条指向 jmp esp 的指令就可以了。Jmp esp 指令的查找可以用! pvefindaddr j esp  来查找。本
人选取的是 0x7E429353的地址。

 

所有的准备工作做好了之后就应该进行 POC 的构造了。首先用地址 0x10019C35 去覆
盖 SE Handler的值,然后进入异常处理例程的时候,ESP=0x0012E5C4。执行 ADD ESP,
41C 的指令后,ESP=0x0012E9E0。而0x0012E9E0相对于缓冲区入口地址 0x0012E9C4的偏
移是 0x0012E9E0-0x0012E9C4=0x1C(28)。所以应该在输入缓冲区的偏移 28字节处填上 jmp
esp 的地址即 0x7E429353,然后在偏移 32 字节之后的空间接上 shellcode 程序就能行了。
Playlaod 的结构如下:  

POC(Ruby)构造如下:
 
 
 
 
 
 
 

本页地址 http://www.jybase.net/xitonganquan/20111028478.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com