Miniupnpc Miniwget缓冲区溢出漏洞分析
0×03 前言
由于最近在发掘一款程序系统漏洞, 见到此程序启用了 miniupnpc.dll 1.6.XXX 所以安装了个相应版本号的miniupnpc 进行了编码财务审计, 发现存在两处网络安全问题, 搜索相关系统漏洞库, 发现这是已存在并且已在高版本号中修复的安全隐患, 本篇我们重点分析如何发现和如何认证的一些方法。
0×01 如何发现
在源代码财务审计的过程中,使用关键词搜索、输入流追踪等方式进行初步的财务审计,当到Miniwget.c 的时候, 发现了此安全隐患。
系统漏洞存在位置: miniwget.cgetHTTPResponse涵数memcpy(content_buf + content_buf_used, buf + i, bytestocopy);中。
其中 bytestocopy是可以控制的, 而此次的安全隐患也是出现在这, bytestocopy < 0 则会产生系统漏洞。我们县认证下是否会产出率fault。
我们把bytestocopy 直接赋值 0×8000000。
运行结果:
发生 segmentation fault 。
我们来看下bytestocopy的整个数据流:
随后是Body数据, 而我们需要控制的是 Body中的数据。
那我们如何来结构数据呢?
结构如下response 响应体:
.com/1.2 200 OKTransfer-Encoding: chunkedContent-Length: 1Content-Type: text/htmlf<xml>test" data-word='xml' class="" >xml>80000000Test
即可去往系统漏洞, 为了认证系统漏洞, 我啊getHTTPResponse涵数进行了单独编译, 并制作成socket服务方便调节。
编译运行此文件:
使用python 撰写一个POC:
运行此POC:
同样出现了 segmentation fault。
0×03 结束语
最后查寻了一些相关文本文档,发现此系统漏洞早就存在,并且最新版本已经修复,但由于很多应用会使用低版本的miniupnpc, 同样会出现这个系统漏洞。系统漏洞的具体利用就不在论述, 可以查看CVE-2017-8798。
所撰写的编码:
连接:htpp://pan.baidu.Com/s/1PcT09Td3BB14rLbHBVb98A 提取码:q69e
相关文章
- 3条评论
- 泪灼眼戏2022-05-30 17:29:20
- ult。0×03 结束语最后查寻了一些相关文本文档,发现此系统漏洞早就存在,并且最新版本已经修复,但由于很多应用会使用低版本的miniupnpc, 同样会出现这个系统漏洞。系统漏洞的具体利用就不在论述, 可以查看CV
- 拥嬉莘夏2022-05-30 11:43:40
- 漏洞的具体利用就不在论述, 可以查看CVE-2017-8798。所撰写的编码:连接:htpp://pan.baidu.Com/s/1PcT09Td3BB14rLbHBVb98A 提取码:q69e
- 晴枙寻妄2022-05-30 13:46:26
- 搜索相关系统漏洞库, 发现这是已存在并且已在高版本号中修复的安全隐患, 本篇我们重点分析如何发现和如何认证的一些方法。 0×01 如何发现 在源代码财务审计的过程中,使用关键词搜索、输入流追踪等方式进行初步的