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的入口函数。

完事收工。

原文地址:https://mozhe.cn/news/detail/294

原文地址:http://blog.51cto.com/13520190/2119724

时间: 2024-10-08 02:17:31

CVE-2018-4990 漏洞详情分析的相关文章

Discuz &lt;= 7.2 SQL注入漏洞详情

Discuz树大招风已成常态,不过对于其他整站程序何尝不是如此?是否曾记得大明湖畔的PHPCMS和DEDCMS万人破的场景,流行整站程序最重要的还是漏洞的快速响应. 0x01 漏洞成因: 在<高级PHP应用程序漏洞审核技术>一文里的"魔术引号带来的新的安全问题"一节里,有提到通过提取魔术引号产生的“\”字符带来的安全问题,同样这个问题在这里又一次完美体现,如下面的代码片段: 1 // foo.php?xigr='ryat 2 3 function daddslashes($

ElasticSearch远程任意代码执行漏洞(CVE-2014-3120)分析

原理 这个漏洞实际上非常简单,ElasticSearch有脚本执行(scripting)的功能,可以很方便地对查询出来的数据再加工处理. ElasticSearch用的脚本引擎是MVEL,这个引擎没有做任何的防护,或者沙盒包装,所以直接可以执行任意代码. 而在ElasticSearch里,默认配置是打开动态脚本功能的,因此用户可以直接通过http请求,执行任意代码. 其实官方是清楚这个漏洞的,在文档里有说明: First, you should not run Elasticsearch as

[WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

[WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285人阅读 评论(1) 收藏 举报  分类: Webkit(34)  JavascriptCore/JIT(3)  版权声明:本文为博主原创文章,未经博主允许不得转载. 看到HorkeyChen写的文章<[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现>

(转) exp1:// 一次有趣的XSS漏洞挖掘分析(1)

from http://www.cnblogs.com/hookjoy/p/3503786.html 一次有趣的XSS漏洞挖掘分析(1) 最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套程序还是很有意思的.因为是过去式的文章,所以没有图.但是希望把经验分享出来,可以帮到和我一样爱好XSS的朋友.我个人偏爱富文本XSS,因为很有趣.有趣的地方是你需要一点一点的测试都过滤了些什么,怎么过滤的.我想,这也是黑盒测试最让人着迷的地方吧    首先,锁定了提交问题的模块,因为这块有编辑器.然后开

Android BroadcastAnyWhere(Google Bug 17356824)漏洞详细分析

h1, h2, h3, h4, h5, h6, p, blockquote { margin: 0; padding: 0; } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", Arial, sans-serif; font-size: 13px; line-height: 18px; color: #737373; background-color: white; margi

CVE2016-8863libupnp缓冲区溢出漏洞原理分析及Poc

1.libupnp问题分析: (1)问题简述: 根据客户给出的报告,通过设备安装的libupnp软件版本来判断,存在缓冲区溢出漏洞:CVE-2016-8863. (2)漏洞原理分析: 该漏洞发生在upnpSDK库中,upnp/src/gena/gena_device.c.文件的create_url_list函数中,由于对输入数据未进行有效检验,造成对缓冲区溢出,可以导致服务器拒绝服务或崩溃:攻击者也可以精心制造一个攻击URL,通过subscribe request的callback header

国内某厂商摄像头敏感信息泄露漏洞事件分析

国内某厂商摄像头敏感信息泄露漏洞事件分析 PDF 版报告下载: 国内某厂商摄像头敏感信息泄露事件分析English Version: Webcam Sensitive Information Disclosure Vulnerability Analysis 1. 事件概述 国内某家监控产品供应商和解决方案服务商旗下有多款监控摄像机以及相关的配套设备.2017年3月5日,知道创宇旗下漏洞平台Seebug[0]上收录了一位名为"bashis"的国外安全研究员发布了一个漏洞公告,声称该厂商

Android BroadcastAnyWhere(Google Bug 17356824)漏洞具体分析

Android BroadcastAnyWhere(Google Bug 17356824)漏洞具体分析 作者:简行(又名 低端码农) 继上次Android的LaunchAnyWhere组件安全漏洞后,近期Google在Android 5.0的源代码上又修复了一个高危漏洞.该漏洞简直是LaunchAnyWhere的姊妹版--BroadcastAnyWhere. 通过这个漏洞,攻击者能够以system用户的身份发送广播.这意味着攻击者能够无视一切的BroadcastReceiver组件訪问限制.并

WordPress4.9 最新版本网站安全漏洞详情与修复

wordpress 目前互联网的市场占有率较高,许多站长以及建站公司都在使用这套开源的博客建站系统来设计网站,wordpress的优化以及html静态化,深受google以及搜索引擎的喜欢,全世界大约有着百分之28的网站都在使用这套系统,国外,外贸网站,个人博客使用的最多. 我们SINE安全在对其wordpress网站进行详细的安全检测以及网站漏洞检测,发现wordpress存在着高危的网站安全漏洞,在wordpress4.9版本一下存在着管理员密码找回漏洞,可以在找回密码的过程中窃取用的密码资