看我如何绕过waf,拿下某985(母校)某系统
字数 1805 2025-08-25 22:59:02
绕过WAF并渗透某985高校系统的技术分析
前言
本文详细分析了一次针对某985高校系统的渗透测试过程,重点介绍了如何绕过Web应用防火墙(WAF)的技术手段。渗透过程始于弱口令发现,经历了WAF绕过、文件上传漏洞利用、权限提升等多个环节。
系统发现与初步渗透
番外篇:意外发现的运维系统
- 在渗透主系统过程中,通过分析JS文件发现被注释掉的另一个相同平台
- 该平台为运维测试环境,安全性较低
- 利用相同弱口令进入后台
- 发现任意文件上传漏洞并成功getshell
- 使用
bypass_disablefunc_via_LD_PRELOAD脚本绕过disable_functions限制 - 尝试提权过程中因Redis服务下线而失败
经验总结:运维测试环境通常比生产环境脆弱,是渗透测试的良好切入点。
主系统渗透过程
1. 文件上传漏洞分析
- 后台存在文件上传功能,初步测试发现:
- 修改文件后缀后,返回的文件后缀未变化
- 文件内容相同则保持原后缀,内容不同则更新后缀
- 上传流程可能存在双重验证:
- 文件内容校验
- 文件后缀校验
2. WAF绕过技术
2.1 连接策略绕过
- 直接发送恶意包会导致IP被封禁数小时
- 发现技巧:当请求长时间等待(WAF检测)时立即取消连接,可避免立即封禁
2.2 PHP标签绕过
- WAF检测并拦截标准PHP标签
<?php ?> - 成功使用PHP短标签
<? ?>绕过:- 需要服务器开启
short_open_tag配置 - 测试payload:
<? echo 1111; ?>
- 需要服务器开启
2.3 文件名绕过
尝试多种文件名构造方式均失败:
xx.jpg.phpxxx.php.jpg- 截断攻击
- 非常规后缀(phtml, pht, php3, php4, Php)
- 多重filename参数
成功方法:使用超长垃圾数据使WAF崩溃
- 生成30万个字符作为垃圾数据
- 导致WAF对filename长度处理失效
2.4 PHP函数绕过
- 直接使用危险函数如
eval(),file_get_contents()会被拦截 - 部分函数可通过字符串拼接绕过:
$a = "file_" . "get_" . "contents"; $a(); - 但
eval和file_put_contents无法通过此方式绕过
2.5 代码混淆技术
- 发现
eval(p/模式不被拦截 - 需要构造
$p参数但不能使用常规方式:$p=$_GET['x']被拦截$p=$_POST['x']被拦截$p=$_SERVER['X']被拦截
解决方案:使用php://input流获取输入数据
php://input是访问原始POST数据的只读流- 可绕过常规参数检测
3. Webshell构造
最终构造的Webshell利用以下技术:
- 使用
php://input获取输入 - 多层base64编码绕过内容检测
- 通过注释进行代码混淆
示例Webshell结构:
<?
// 混淆代码
$p = file_get_contents("php://input");
// 进一步处理
eval(base64_decode($p));
?>
4. 文件写入与后续利用
- 通过Webshell写入加密的流量代理小马
- 使用蚁剑连接管理
- 发现服务器禁用了一些危险函数,限制了后续操作
技术总结与防御建议
渗透技术要点
-
WAF绕过技术:
- 连接策略调整
- PHP短标签利用
- 超长数据使WAF崩溃
- 代码混淆与注释利用
-
文件上传漏洞利用:
- 文件内容与后缀的关联分析
- 多阶段验证绕过
-
权限维持:
- 多层编码的Webshell
- 输入流利用
防御建议
-
WAF配置优化:
- 添加短标签检测
- 实现合理的请求大小限制
- 增强代码混淆检测能力
-
系统安全加固:
- 禁用不必要的PHP特性(如短标签)
- 严格限制文件上传功能
- 对运维测试环境实施同等安全措施
-
监控与响应:
- 建立异常连接模式检测
- 对多次尝试行为实施渐进式封禁
附录:实用资源
-
bypass_disablefunc脚本:
https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD -
PHP官方文档参考:
- 短标签:https://www.php.net/manual/zh/ini.core.php#ini.short-open-tag
- php://input:https://www.php.net/manual/zh/wrappers.php.php#wrappers.php.input
-
渗透测试工具:
- Burp Suite
- 蚁剑(AntSword)