首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CVE_2013_4730的简单分析

软件名称 :PCMan FTP Server 2.0.7

经分析 此软件 由于 未能有效处理 FTP 命令的字符长度 进而引发栈溢出漏洞

"USER"命令即可触发此漏洞

不过在分析之前 需要实现一个 FTP客户端 进行通信

需要做如下几步:

1、建立Socket 连接 连接目标 FTP

2、接受 FTP服务器的欢迎语

3、发送"USER XXXX"登陆请求

4、接受请求结果 (此时不会走到 这一步, 因为 当发送登陆请求后 FTP服务会执行我们的ShellCode)

在这里我们使用一款 插件 mona

使用 Mona 生成一段3000字节长度的测试字符串 用于溢出点测试

测试

经测试 程序已经崩溃

根据结果可知 我们的溢出点在偏移2003的位置

溢出点已经确认 接下来 我们需要用mona 在目标程序空间找到一个跳板指令 "JMP ESP"

我们 使用 0x7590f7f7 这一个地址

由于 FTP 命令中不能包含 "0x00" "0x0D" "0x0A" 因此 我们根据此要求重新加密 一下 ShellCode

ShellCode代码如下

实在不知道怎么贴 代码 有需要的留言

最终效果图

PS: 在其中的 Fuzz 过程中 发送 验证 字符串 时 有空格 时 溢出点时2003 无空格 是 2004

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180414G0UICH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券