php web木马扫描器,PHP Web木马扫描器代码分享,phpweb木马扫描器

PHP Web木马扫描器代码分享,phpweb木马扫描器

不废话了,直接贴代码了。

代码如下:

"

. " pass"

. " "

. ""

. " "

. ""

."";

exit;

}elseif(isset($_POST['passchack'])&&$_POST['passchack']==$pass){

$code=file_get_contents($_GET['readfile']);

echo"{$code}";

exit;

}else{

exit;

}

}else{

record_md5(M_PATH);

if(file_exists(M_LOG)){

$log = unserialize(file_get_contents(M_LOG));

}else{

$log = array();

}

if($_GET['savethis']==1){

//保存当前文件md5到日志文件

@unlink(M_LOG);

file_put_contents(M_LOG,serialize($file_list));

echo "保存成功!点击返回";

exit;

}

if(empty($log)){

echo "当前还没有创建日志文件!点击[保存当前]创建日志文件!";

}else{

if($file_list==$log){

echo "本文件夹没有做过任何改动!";

}else{

if(count($file_list) > 0 ){

foreach($file_list as $file => $md5){

if(!isset($log[$file])){

echo "新增文件:".$file.""." 创建时间:".date("Y-m-d H:i:s",filectime($file))." 修改时间:".date("Y-m-d H:i:s",filemtime($file))." 源码删除

";

}else{

if($log[$file] != $md5){

echo "修改文件:".$file.""." 创建时间:".date("Y-m-d H:i:s",filectime($file))." 修改时间:".date("Y-m-d H:i:s",filemtime($file))." 源码

";

unset($log[$file]);

}else{

unset($log[$file]);

}

}

}

}

if(count($log)>0){

foreach($log as $file => $md5){

echo "删除文件:".$file."

";

}

}

}

}

}

}

//计算md5

function record_md5($jkdir){

global $file_list,$exclude;

if(is_dir($jkdir)){

$file=scandir($jkdir);

foreach($file as $f){

if($f!='.' && $f!='..' && !in_array($f, $exclude)){

$path = $jkdir.'/'.$f;

if(is_dir($path)){

record_md5($path);

}else{

$file_list[$path]=md5_file($path);

}

}

}

}

}

function Safe_Check($jkdir)//遍历文件

{

global $danger ,$suffix ,$jkdir_num ,$file_num ,$danger_num;

) or die('文件夹不存在') ;

while ($file=$hand->read())

{

$filename=$jkdir.'/'.$file;

if (!$jumpoff) {

if(Jump($filename))continue;

}

if(@is_dir($filename) && $file != '.' && $file!= '..'&& $file!='./..')

{ $jkdir_num++;

Safe_Check($filename);

}

if (preg_match_all ("/\.($suffix)/i",$filename,$out))

{

$str='';

$fp = @fopen($filename,'r')or die('没有权限');

while(!feof($fp))

{

$str .= fgets($fp,1024);

}

fclose($fp);

if( preg_match_all ("/($danger)[ \r\n\t]{0,}([\[\(])/i",$str,$out))

{

echo "可疑文件:{$filename}"." 创建时间:".date("Y-m-d H:i:s",filectime($filename))." 修改时间:".date("Y-m-d H:i:s",filemtime($filename))." 查看代码 删除

";

$danger_num++;

}

}

$file_num++;

}

}

function Edit()//查看可疑文件

{

global $filename;

$filename = str_replace("..","",$filename);

$file = $filename;

$content = "";

if(is_file($file))

{

$fp = fopen($file,"r")or die('没有权限');

$content = fread($fp,filesize($file));

fclose($fp);

$content = htmlspecialchars($content);

}

echo "$content\r\n";

exit();

}

function Delete()//删除文件

{ global $filename,$pass;

if(empty($_POST['passchack'])){

echo""

. " pass"

. " "

. ""

. " "

. ""

."";

exit;

}elseif(isset($_POST['passchack'])&&$_POST['passchack']==$pass){

(is_file($filename))?($mes=unlink($filename)?'删除成功':'删除失败 查看权限'):'';

echo $mes;

exit();

}else{

echo '密码错误!';

exit;

}

}

function Jump($file)//跳过文件

{

global $jump,$safearr;

if($jump != '')

{

foreach($safearr as $v)

{

if($v=='') continue;

if( eregi($v,$file) ) return true ;

}

}

return false;

}

?>

[查看文件改动]|[保存当前文件指纹]|[扫描可疑文件]

以上代码就是php web木马扫描器代码分享,本文附有注释,有不明白的欢迎给我留言,相信实现方法也不止以上一种,欢迎大家多多分享不同的实现方法。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
扫描木马类型: asp/aspx/php/jsp/asa/cer 软件主要功能: 1.搜索网站里面的网页木马Webshell) 2.生成统计报表 用来查询网站是不是被挂马了,一般用于服务器上的操作,或将服务器上的源码下载到本地,然后用此软件查找。 处理了一下第一版大家的要求,修复了一些小的bug,加入了自动更新程序,在windows2003、windows xp、windows 2000 server 无.net环境下测试通过,简单的更新说明如下: 1.添加自动升级模块,.net环境下可完成在线升级; -------------------------------------------------------- 升级需要请求服务器下载文件替换,如果下载失败,请手动下载更新。更新程序需要服务器装有.net v2.0.50727 版本以上的环境才能运行,因此不支持.net的服务器无法使用自动更新。 2.无需.net环境运行扫描程序; -------------------------------------------------------- 这个问题比较头疼的,程序是.NET 开发的,需要安装 .NET Framework,但Windows 2000、Windows XP 和 Windows 2003 默认都没有.NET 2.0 运行环境。于是利用移动飞信的原理,利用fetion的程序加载主程序,可以使主程序可以运行在不支持.net的环境下。大家可以用VMDotNet包中的文件运行大多数.net开发的程序,如果缺少dll,加上即可。 3.添加asp规则,主要针对asp的webshell绕过机制; -------------------------------------------------------- 由于本来的规则基本是lake2的规则以及少许修改版,于是很多同志找出了很多绕过逃避检测的机制,比如用access或者excel创建asp文件的小马,比如include包含gif之类的伎俩等等等等。本版中这些绕过机制均得到处理。(还想绕过的朋友try一下看看我的正则健壮不健壮) 4.更新php规则,添加了eval下运行的少数加密函数; -------------------------------------------------------- php下把加密的文件先通过函数解密再eval运行,本次版本处理了几个不常见的函数:gzinflate 、str_rot13等等;php确实还有很多绕过的方法,而且很难检测,呜呼哀哉,我也没辙了... 5.增加了利用IIS6.0文件夹解析漏洞以及文件解析漏洞隐藏的shell的检查; -------------------------------------------------------- 这个没啥好说的,目录叫1.asp或者文件叫1.asp;2.jpg,很显然被人入侵了,需要仔细检查检查问题了。 6.修复一处bug(驱动器下第一层目录无法扫描); -------------------------------------------------------- 测试的时候无意中发现的,貌似还没有人向我提交这个问题,估计大家都直接扫目录的,并没有扫盘(确实没必要扫盘~) 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值