全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
楼主: nanashi
打印 上一主题 下一主题

[疑问] 求分析一段代码,是钓鱼的还是挂马的?

[复制链接]
11#
发表于 2011-5-15 23:51:20 | 只看该作者
google和firefox貌似只会分析出恶意的js代码
swf挂马,就是利用老版本flash空间的漏洞,构造带shellcode的字符串,在调用某个函数的时候溢出执行代码,多半是download and excute
12#
 楼主| 发表于 2011-5-15 23:55:54 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
13#
发表于 2011-5-16 00:01:28 | 只看该作者
  1. package custom_fla
  2. {
  3.     import flash.display.*;
  4.     import flash.events.*;
  5.     import flash.net.*;
  6.     import flash.text.*;

  7.     dynamic public class MainTimeline extends MovieClip
  8.     {
  9.         public var swfLocation:Array;
  10.         public var imageArea:MovieClip;
  11.         public var swfDirectory:String;
  12.         public var imageLoader:Loader;
  13.         public var output_main:TextField;

  14.         public function MainTimeline()
  15.         {
  16.             addFrameScript(0, this.frame1);
  17.             return;
  18.         }// end function

  19.         public function imageLoaded(event:Event) : void
  20.         {
  21.             this.imageArea.addChild(this.imageLoader);
  22.             return;
  23.         }// end function

  24.         public function imageLoading(event:ProgressEvent) : void
  25.         {
  26.             return;
  27.         }// end function

  28.         function frame1()
  29.         {
  30.             this.swfLocation = this.loaderInfo.url.split("/");
  31.             this.swfDirectory = this.loaderInfo.url.substr(0, this.loaderInfo.url.length - this.swfLocation[(this.swfLocation.length - 1)].length);
  32.             this.bgimg();
  33.             this.output_main.text = this.output_main.text + "\n" + "Start stuffer";
  34.             return;
  35.         }// end function

  36.         public function getaff()
  37.         {
  38.             var affLoader:URLLoader;
  39.             var _affurl:String;
  40.             var _trackref:String;
  41.             var onLoaded:Function;
  42.             onLoaded = function (event:Event) : void
  43.             {
  44.                 var keyStr:String;
  45.                 var valueStr:*;
  46.                 var evt:* = event;
  47.                 var strSplit:* = affLoader.data.split("&&&&&");
  48.                 try
  49.                 {
  50.                     var _loc_3:int = 0;
  51.                     var _loc_4:* = strSplit;
  52.                     while (_loc_4 in _loc_3)
  53.                     {
  54.                         
  55.                         keyStr = _loc_4[_loc_3];
  56.                         valueStr = String(strSplit[keyStr]);
  57.                         output_main.text = output_main.text + "\n URL: " + valueStr;
  58.                         stuff(valueStr);
  59.                     }
  60.                     stuff("http://www.google.com");
  61.                 }
  62.                 catch (error:Error)
  63.                 {
  64.                     trace("error in loading");
  65.                 }
  66.                 return;
  67.             }// end function
  68.             ;
  69.             var affRequest:* = new URLRequest(this.swfDirectory + "getaff.php");
  70.             affLoader = new URLLoader();
  71.             var affVariables:* = new URLVariables();
  72.             affRequest.method = URLRequestMethod.GET;
  73.             affRequest.data = affVariables;
  74.             affLoader.addEventListener(Event.COMPLETE, onLoaded);
  75.             affLoader.load(affRequest);
  76.             return;
  77.         }// end function

  78.         public function stuff(param1)
  79.         {
  80.             var stlink:* = param1;
  81.             this.output_main.text = this.output_main.text + "\n Stuff this url: " + stlink;
  82.             var stuffRequest:* = new URLRequest(stlink);
  83.             var stuffLoader:* = new URLLoader();
  84.             var stuffVariables:* = new URLVariables();
  85.             try
  86.             {
  87.                 sendToURL(stuffRequest);
  88.             }
  89.             catch (e:Error)
  90.             {
  91.             }
  92.             return;
  93.         }// end function

  94.         public function loadImage(param1:String) : void
  95.         {
  96.             this.imageLoader = new Loader();
  97.             this.imageLoader.load(new URLRequest(param1));
  98.             this.imageLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, this.imageLoading);
  99.             this.imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.imageLoaded);
  100.             return;
  101.         }// end function

  102.         public function track()
  103.         {
  104.             var trackLoader:URLLoader;
  105.             var onLoaded2:Function;
  106.             onLoaded2 = function (event:Event) : void
  107.             {
  108.                 var _loc_2:* = trackLoader.data.split("&");
  109.                 var _loc_3:* = _loc_2[1].split("=");
  110.                 var _loc_4:* = _loc_3[1];
  111.                 output_main.text = output_main.text + "\n" + trackLoader.data;
  112.                 if (_loc_4 == "proceed")
  113.                 {
  114.                     output_main.text = output_main.text + "\n Stuff";
  115.                     getaff();
  116.                 }
  117.                 else
  118.                 {
  119.                     output_main.text = output_main.text + "\n Do not stuff";
  120.                 }
  121.                 return;
  122.             }// end function
  123.             ;
  124.             var trackRequest:* = new URLRequest(this.swfDirectory + "track.php");
  125.             trackLoader = new URLLoader();
  126.             var trackVariables:* = new URLVariables();
  127.             trackRequest.method = URLRequestMethod.GET;
  128.             trackRequest.data = trackVariables;
  129.             trackLoader.addEventListener(Event.COMPLETE, onLoaded2);
  130.             trackLoader.load(trackRequest);
  131.             return;
  132.         }// end function

  133.         public function bgimg()
  134.         {
  135.             var imgLoader:URLLoader;
  136.             var onLoaded4:Function;
  137.             onLoaded4 = function (event:Event) : void
  138.             {
  139.                 loadImage(imgLoader.data);
  140.                 track();
  141.                 return;
  142.             }// end function
  143.             ;
  144.             var imgRequest:* = new URLRequest(this.swfDirectory + "getimg.php");
  145.             imgLoader = new URLLoader();
  146.             var imgVariables:* = new URLVariables();
  147.             imgRequest.method = URLRequestMethod.GET;
  148.             imgRequest.data = imgVariables;
  149.             imgLoader.addEventListener(Event.COMPLETE, onLoaded4);
  150.             imgLoader.load(imgRequest);
  151.             return;
  152.         }// end function

  153.     }
  154. }
复制代码
14#
 楼主| 发表于 2011-5-16 00:04:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
15#
发表于 2011-5-16 00:11:56 | 只看该作者
貌似是java语言。。
16#
发表于 2011-5-16 00:15:45 | 只看该作者
getaff.php的代码是
  1. http://atq.ck.valuecommerce.com/servlet/atq/referral?sid=2219441&pid=877212733&vcptn=shpg%2Fp%2FCddioIIDHa82DOm_UXiASQU6sLY-&vc_url=http%3A%2F%2Fshopping.yahoo.co.jp%2F&&&&&http://**azon.co.jp/gp/redirect.html?ie=UTF8&location=http%3A%2F%2F**azon.co.jp%2F&tag=fujittchi-22&linkCode=ur2&camp=247&creative=1211&&&&&http://www.google.com
复制代码
Value Commerce——按交易量收取报酬的广告模式,应该是个刷流量之类的,注意可能会spam或者变恶意网站。
17#
发表于 2011-5-16 00:18:07 | 只看该作者
imgLoader.load(imgRequest);
在swf构造http请求,那么shellcode应该是由getimg.php输出
大体就是,旧版本的flash控件在载入image对象的时候可能会溢出
就是挂马,否则也是间谍软件

诱惑这么大看你咯,我估计你做游戏主题的
18#
发表于 2011-5-16 00:20:08 | 只看该作者
16#导出getimg.php的内容了也,如果只是加载广告代码而已,应该无事的
19#
 楼主| 发表于 2011-5-16 00:29:25 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
20#
 楼主| 发表于 2011-5-16 00:58:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-13 22:43 , Processed in 0.061323 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表