收藏本站|设为首页

您现在的位置: 首页 > 新闻中心 > 建站经验 > 详细内容

网站平安剖析:CSRF抨击袭击案例剖析陈述

2012-08-28 13:49 来源: 卓杰科技 www.zhuojie.cc [ ]

站长之家(chinaz.com)8月28日动静:站长之家年夜日志宝平安团队获悉,近日,某站长在使用日志宝剖析日志时发现,一些可疑IP地址会按期对网站第三方接口发生年夜量访谒,影响了网站正常营业的运行。日志宝平安团队在与该站长进行沟通后剖断章是一次典型的CSRF抨击袭击。

x.x.x.x - - [25/Aug/2012:00:18:05 +0800] "GET /manage/call.php?u=1234&sms=13812345678 HTTP/1.1" 200 3284

针对此次抨击袭击事务,日志宝平安团队发布了《日志宝-CSRF抨击袭击案例剖析陈述》:

1、 站长在使用日志宝进行日常剖析时发现,该IP地址在top20统计中的访谒量较着高于第2位的IP地址访谒量,并发生出年夜量异常访谒

随后联系用户获得了该剧本的源代码,发现该剧本文件存在3处编程平安问题:

$this->errmsg .= "<li>数据异常!</li>";

2、 该剧本文件采用$_REQUEST获取参数,没有区分GET和POST两种体例,导致可以直接在URL中机关表单参数

针对这些问题,日志宝平安团队辅佐用户提出了代码层面的修复方案:

}

1、 增添权限节制,在使用接口时必需验证用户是否为本站已登录用户。

2、 针对表单变量采用$_POST体例获取,禁止使用$_REQUEST获取表单变量。

3、 防御CSRF抨击袭击(3种体例):

3.1 添加验证码,此体例会额外增添一次用户交互行为,在网站用户体验上会打折扣,影响接口的使用转化率。

伪造Referer的代码如下:

<?php

3、 该剧本文件没有对用户身份做确认,连系XSS裂痕可以以肆意用户身份倡议访谒请求,经由过程第三方收集电话接口给肆意用户拨打骚扰电话,形成一次CSRF抨击袭击。

header("Referer: www.rizhibao.com");

$decsrf = md5(mt_rand(0,mt_getrandmax()).'this_a_very_strong_key');

3.2 判定接口访谒来历(HTTP Referer),此体例经由过程判定网页的Referer来检测用户是否是经由过程正常挪用访谒该接口,可是因为Referer可以在客户端伪造,故并不能很好的防止CSRF抨击袭击。

echo $a;

?>

经由过程抓包可以看到referer已经被篡改:

3.3 添加一次性会话令牌(token),此体例不会增添额外的用户交互行为,而且能够有用的防止CSRF抨击袭击。代码实现事理如下:

首先建树一个一次性的随机token值,并将token值存放在session中

<input type="hidden" name="decsrf" value="http://www.zhuojie.cc/?/web/2012/0828/<?=$descrf?>">

最后在后台验证页面判定该请求是否正当,检测用户传递过来的token值是否和seesion中保留的token值一致

1、 该剧本文件没有对用户登录信息做权限验证,外界用户可无需登录直接访谒该接口

if(empty($_POST['decsrf']) || $_POST['decsrf']!= $_SESSION['decsrf']){

针对以上问题,经由过程使用日志宝对网站日志进行平安剖析后发现,日志文件中存在年夜量近似以下访谒请求:

$_SESSION['decsrf'] = $decsrf;

exit;

2、 该网站第三方接口首要功能是经由过程收集电话与用户取得联系,良多用户接到投诉,暗示并没有使用过该接口,而且收到了年夜量的未知来电

}else{

unset($_POST['decsrf']);//销毁一次性token令牌

3、 在日志宝平安剖析陈述中发现年夜量敏感URL访谒,而且访谒泉源与该ip地址吻合

正常措置逻辑

4、 增添时刻限制,限制该接口的访谒请求侍旧肃离,好比30秒内只能访谒一次该接口,防止接口挪用过于频仍耗损处事器资本。

$a = file_get_contents('http://www.zhuojie.cc/?');

日志宝已经协助用户成功措置了此次平安抨击袭击事务。经由过程此次平安抨击袭击事务可以看出,CSRF抨击袭击的方针是网站的用户而不是网站处事器自己,虽然分歧于SQL注入抨击袭击可以直接获取网站的敏感数据,可是经由过程CSRF抨击袭击可以依托于网站自身营业对正常用户倡议垂钓、欺诈等其他恶意行为,影响网站自身的正常营业运转,给网站带来极年夜的负面影响,站长们还需多多关注此类抨击袭击行为。

事务布景:

其次在前台POST表单中添加潜匿input元素,自动提交token值到后台验证页面

注明:本平安陈述来自日志宝,官方网站www.rizhibao.com。