千家信息网

如何进行CVE-2018-4990 漏洞分析

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章给大家介绍如何进行CVE-2018-4990 漏洞分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。测试版本:AcroRdrDC1700920044_en_US漏洞模块:
千家信息网最后更新 2025年12月01日如何进行CVE-2018-4990 漏洞分析

这篇文章给大家介绍如何进行CVE-2018-4990 漏洞分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

测试版本:AcroRdrDC1700920044_en_US

漏洞模块: Escript.api

漏洞函数




修复函数



问题分析

拷贝对象的时候把DWORD类型的对象地址作为BYTE类型进行了拷贝,堆对象拷贝溢出漏洞。对象偏移在0x50的地方,也就是错误的位置。



Javascript里面喷射的对象代码。

修复方案

定位到问题很好修复。

ROP技术

使用EScript.api模块作为ROP执行地址,基址为69260000,ROP表如下.

0D130064 692E2803 EScript.692E2803

0D130068 692E2803 EScript.692E2803

0D13006C 692E2802 EScript.692E2802

0D130070 693F7084 <&KERNEL32.VirtualAlloc>

0D130074 69271784 EScript.69271784

0D130078 693EAF26 EScript.693EAF26

0D13007C 69278000 EScript.69278000

0D130080 69283AAA EScript.69283AAA

0D130084 6936F282 EScript.6936F282

0D130088 00010201

0D13008C 692E2802 EScript.692E2802

0D130090 692695C4 EScript.692695C4

0D130094 77842FB6 kernel32.VirtualAlloc

0D130098 69283AAA EScript.69283AAA

第一条ROP指令RETN在692E2803,为一条RETN指令。因为有ASLR保护,所以地址看起来不一样。



ROP指令不进行一一讲解,接下来通过ROP技术构造了一个函数VirtualAlloc分配一段内存。注意看下EAX寄存器的值。




EAX是0x90909090,adobe的javascript的堆喷射器里面也有0x90909090。




使用VirtualAlloc函数申请了一段可读可写可执行的内存,大小为66049字节。为什么呢?因为恶意pdf里面还有个pe文件,shellcode应该带有一个pe加载器,直接在本进程在内存执行pe文件。




接下来返回到了恶意内存中的shellcode继续执行。注意一下,前面4字节是0x90。说明那个是填充的NOP指令。




Shellcode

第一个功能就是在shellcode长度(0x2710字节长度)后面搜索一个4字节的标记0xBFAFBFAF。搜索标记的作用是定位PE头。

接下来用经典的fs:[0x30]技术定位kernel32的基址。




接下来通过解析PE文件搜索GetProcAddress函数的地址,这也是windows经典的shellcode技术。



使用getprocaddress函数得到loadlibrarya、virtualalloc、virtualfree、virtualprotect、getmodulehandlea的地址


接着是PE加载器的经典功能,拷贝PE头、修复区段、重定位、填充输入表等等。




接着使用VirtualProtect函数改写PE为可读可执行可写。




最后调用PE文件的入口函数,因为PE是dll所以入口是DllMain。




这个dll只有一个功能,使用MessageBoxA弹一个对话框。




Dll的入口函数。




关于如何进行CVE-2018-4990 漏洞分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

函数 漏洞 地址 对象 接下来 内存 字节 技术 拷贝 指令 文件 定位 分析 入口 功能 经典 搜索 漏洞分析 内容 基址 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库技术交流群 云服务器贴吧 jsp数据库连接异常是什么原因 数据库的市场空间 机关单位网络安全风险点 深圳橙大业网络技术公司 数据库识图无法更新 软件开发公司工资分录 lce服务器操作员 小文 网络安全的措施与方法 南京无线网络技术服务 所有数据库的sql语言都一样吗 河南科技大学数据库开发技术 河北一站式网络技术什么价格 高校网络安全会议 西城区数据网络技术一体化 新疆百品汇互联网科技有限公司 我的世界骗赞服务器是什么意思 山东超级服务器虚拟主机 雷德服务器公会排名 宁波华数网络技术有限公司 魔兽世界怀旧服沉默的神庙数据库 简算机网络技术是什么 传奇数据库项链 北京软件开发企业名录 网络安全法规定成立领导小组 碳资产数据库与管理平台 服务器文件管理方案 网络安全考试scse认证课程 数据库的安全性保护和完整性保护
0