tiktok刷粉 Instagram_RCE:Instagram APP远程代码漏洞
🟨🟧🟩🟦加vx: 『zfensi(微信)』 - NoneNone- ins涨粉丝网- telegram刷粉|ins刷粉丝|ins刷粉|tiktok刷粉|tiktok刷粉平台 便宜ins刷粉丝,24小时自助-专业ins粉赞平台🟨🟧🟩🟦
漏洞细节
该漏洞存在于Instagram处理图像的方式中,从技术上将该漏洞是一个堆溢出漏洞(CVE-2020-1895),当Instagram尝试发送大一点的文件时会触发该漏洞。攻击者只需通过常见的消息平台或邮件向攻击目标发送精心伪造的图片就可以触发该漏洞。
有漏洞的函数为read_jpg_copy_loop,会在解压缩过程中引发整数溢出。
Read_jpg_copy_loop代码段
在处理JPEG图像文件时,有漏洞的函数会处理图像尺寸。下面是有漏洞的代码的伪代码:
width=rect->right-rect->bottom;
height=rect->top-rect->left;
allocated_address=__wrap_malloc(width*height*cinfo->output_components);//output_scanline;
if((unsigned int)output_scanline>=cinfo->output_height)
break;
//reads one line from the file into the cinfo buffer
jpeg_read_scanlines(cinfo,line_buffer,1);
if(output_scanline>=Rect->left&&output_scanline<Rect->top)
{
memcpy(allocated_address+bytes_copied,line_buffer,width*output_component);//<--Oops
bytes_copied+=width*output_component;
}
}
其中:
_wrap_malloc函数会根据图像尺寸的3个参数来分配内存块。Width和height都是16位的整数(uint16_t)。
cinfo->output_component告诉我们有多少个字节用来表示每个像素。变量的值分别代表不同的意思,1表示Greyscale、3表示RGB、4表示RGB+AlphaCMYK等。
除了height和width外,output_component也可以完全被攻击者控制。因为在分析的过程中并不会与文件中的其他数据进行验证。
__warp_malloc希望其参数在32位的寄存器中进行处理。也就是说如果分配的大小超过(2^32)字节,那么就可以引发整数溢出。
分配的大小是通过图像的width乘height再乘以output_components得到的。因为没有检查,那么一旦被攻击者所控制,进一步滥用后就会引发整数溢出。
__wrap_malloc(width*height*cinfo->output_components);//<----Integer overflow
然后缓存被传递给memcpy,引发基于堆的缓存溢出。
分配后,memcpy函数会被调用,然后复制图像数据到分配的内存中。
复制的过程是一行一行进行的:
memcpy(allocated_address+bytes_copied,line_buffer,width*output_component);//<--Oops
size(width*output_component)数据也会被复制height次。
为了引发内存奔溃,还需要溢出决定分配大小的整数,计算的结果必须要大于32比特。当复制的数据大于2^32(4GB)时,如果循环到了一个无法映射的页面,程序大概率会奔溃:
漏洞利用
从漏洞利用的角度来看,一个线性堆溢出漏洞使得攻击者可以控制分配的大小、溢出的数、以及溢出内存区域的内容。
攻击者利用该漏洞可以按照如下步骤:
通过邮件、WhatsApp、短信等方式发送恶意图片给受害者;
补丁
Facebook已于今年春季修复了该漏洞,Facebook称没有发现任何漏洞在野利用的迹象。
❤️🔥
关于【 Vkontakte推广 】社交营销服务列表
-
VK|Vkontakte 粉丝
1
-
VK|Vkontakte 赞(like)
1
- 2025版本tiktok|Ins|Facebook|Toutube|教程教学及跨境电商账号运营课程
- 跨境电商账号运营服务列表⚡️⚡️⚡️