CVE-2010-0249(极光)分析报告
2019/9/10 报告doc在文件里面
1. 发现可疑流量
A.分析流量,导出字节流
B.得到网页代码,发现需要执行的代码需要解密(加密的字符串部分太长了,就省略了):
C.通过在网页下断点,将解密后的代码从提取出来,并做修饰(payLoad太长被省略):
很明显能看出来,这是在进行堆喷射!应该是在利用漏洞,至于漏洞在哪里,继续分析。
2. 漏洞复现
A.使用phpStudy构建网站,在xp虚拟机中用ie6访问
崩掉了:
B.调试
进行栈回溯
通过栈回溯:ecx来源于[esi],拖入OD调试一下
可以看出,ecx = [[[ebp-8]]],这个函数是mshtml.dll中的,把mshtml.dll拖入IDA看一下。
这个函数的参数是一个对象的二级指针
继续溯源
找到上一个函数
C.根源
①到这里需要知道事件对象是如何创建和保存的,前面已经知道html中创建了一个image对象,对CImgElement下断点在windbg中输入bu mshtml!CImgElement::CImgElement
ecx(01c6cd20)即创造的CImageElement对象指针。
②在CTreeNode下断点
ecx(01cb04b0)即创造的CTreeNode对象指针。
CTreeNode::SetElement将该CImgElement类与CTreeNode关联
为了在event中能够访问相应的Element,CEventObj并不是直接就在其类中保存一个CElement结构的指针,而是在CImgElement对象创建后,又创建了相应的CTreeNode对象,由CTreeNode对象的属性中保存CImgElement类指针。然后将CTreeNode对象的地址,保存在这个img的事件对象CEventObj类的一个EVENTPARAM结构中。
3. 漏洞成因
表层:访问了被释放的对象,最后call了不可访问区域
通过多层指针访问对象element,通过虚函数表指针找到虚函数表,然后call了虚函数,
原对象已经被释放了,访问的不知道啥东西,就崩了。
4. PoC
原理:创建对象,再释放,向对象里面写数据(如0x0C0D,或者0x0A0D),主要是再次访问释放的对象时,就会将写的数据当成地址调用(虚函数表),因为是大面积覆盖,不论是多少次级指针,都指向同一个地址,就是0x0C0D0C0D周围保存的也是0x0C0D0C0D,最终就会call 0x0C0D0C0D。
这时候我们再针对0x0C0D0C0D或者0x0A0D0A0D,进行堆喷射,使执行到shellcode中。
5. 结语
通过该漏洞可以进行恶意网站访问时,将被攻击,执行恶意代码,或拒绝服务。
6. 参考资料
http://www.geoffchappell.com/notes/security/aurora/index.htm
CVE-2010-0249(极光)分析报告的更多相关文章
- Alpha阶段事后分析报告
每个团队编写一个事后分析报告,对于团队在Alpha阶段的工作做一个总结. 请在2016年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的事后分析会上进行汇报,并 ...
- 《奥威Power-BI智能分析报告制作方法 》精彩回顾
上次课我们简单介绍了奥威Power-BI的智能分析报告,并展示了报告与图表相结合的应用场景.图文分析报表的意义不只在于美观,更重要的是固定框架下的灵活性和追根究底的动态分析,有着很强的实用性.上节课 ...
- 12月07日《奥威Power-BI智能分析报告制作方法 》腾讯课堂开课啦
前几天跟我一个做报表的哥们聊天,听着他一茬一茬地诉苦:“每天做报表做到想吐,老板看报表时还是不给一个好脸色.”我也只能搬出那一套“过程大于结果”的内心疗程赠与他,没想到他反而怒了:“做 ...
- M1事后分析报告(Postmortem Report)
M1事后分析报告(Postmortem Report) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们项目组所开发的软件为一个基于Andro ...
- websphere OSGi应用环境下服务调用saaj包加载问题分析报告
websphere OSGi应用环境下服务调用saaj包加载问题分析报告 作者:bingjava 版权声明:本文为博主原创文章,转载请说明出处:http://www.cnblogs.com/bingj ...
- Google发布SSLv3漏洞简要分析报告
今天上午,Google发布了一份关于SSLv3漏洞的简要分析报告.根据Google的说法,该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击等类似的方式(只要劫持到的数据加密两端均 ...
- 推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen
reportgen v0.1.8 更新介绍 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.rep ...
- python 生成 pptx 分析报告的工具包:reportgen
python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...
- 使用AES加密的勒索类软件分析报告
报告名称: 某勒索类软件分析报告 作者: 李东 报告更新日期: 样本发现日期: 样本类型: 样本文件大小/被感染文件变化长度: 样本文件MD5 校验值: da4ab5e31793 ...
- [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告
Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...
随机推荐
- 关于C/C++的各种优化
一.常量 声明常量可以方便代码的修改,提高复用性. ; +; ; 同时,声明常量也可以减少重复运算,提高代码速度,例子如下: string s; cin>>s; ;i<len;i++ ...
- 093、Java中String类之字符串是匿名对象
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 1. GC标记-清除算法(Mark Sweep GC)
世界上第一个GC算法,由 JohnMcCarthy 在1960年发布. 标记-清除算法由标记阶段和清除阶段构成. 标记阶段就是把所有的活动对象都做上标记的阶段. 标记阶段就是"遍历对象并标记 ...
- 关于pgsql 几个操作符的效率测试比较
关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次取平均时间.测试结果:->> 效率高 5% ...
- 安卓:从assets目录下复制文件到指定目录
有些时候我们直接将某些资源文件内置到apk中,便于直接使用. 1.首先将文件放置在项目/app/src/main/assets目录中 2.功能代码: public void copyFile(Stri ...
- 解题报告:luogu P3853 [TJOI2007]路标设置
题目链接:P3853 [TJOI2007]路标设置 是个水二分,那你还\(WA\).很简单,就是练了练和早上那题相似的题. 二分答案即可,复杂度\(O(Nlogl)\),可以通过本题. 不过,需要注意 ...
- centos7 程序快捷方式
/usr/share/Applications 在此文件夹中,全是".desktop"的文件,利用终端打开一个看看就知道了!
- javascript判断数组是否包含了指定的元素
jQuery写法: var arr = [ "xml", "html", "css", "js" ]; $.inArra ...
- 看完本文,Essay写作再也不需要凑字数
很多同学都说过自己写论文的时候出现“词穷”的情况,无奈只能靠“胡编乱造”来凑字数写出开头段,这其实是大家的阅读量没有达到要求.但不能因为出现这种情况就对自己的论文不负责任,否则你的论文分数可能就不会对 ...
- E. MaratonIME does (not do) PAs
E. MaratonIME does (not do) PAs time limit per test 2.0 s memory limit per test 256 MB input standar ...