最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php木馬webshell掃描器代碼

 更新時間:2012年01月25日 22:13:19   作者:  
因為前端時間服務(wù)器被放過 所以寫了個webshell掃描器 呵呵 專殺php webshell 不管大馬還是小馬 包括一句話 現(xiàn)在放出代碼來
復(fù)制代碼 代碼如下:

<?php
/*
+--------------------------------------------------------------------------+
| Codz by indexphp Version:0.01 |
| (c) 2009 indexphp |
| http://www.indexphp.org |
+--------------------------------------------------------------------------+
*/
/*===================== 程序配置 =====================*/
$dir='cms'; //設(shè)置要掃描的目錄
$jumpoff=false;//設(shè)置要跳過檢查的文件
$jump='safe.php|g'; //設(shè)置要跳過檢查的文件或者文件夾 $jumpoff=false 時此設(shè)置有效
$danger='eval|cmd|passthru';//設(shè)置要查找的危險的函數(shù) 以確定是否木馬文件
$suffix='php|inc';//設(shè)置要掃描文件的后綴
$dir_num=0;
$file_num=0;
$danger_num=0;
/*===================== 配置結(jié)束 =====================*/
extract (GetHttpVars());
if ($m=="edit") Edit();
if ($m=="del") Delete();
if ($check=='check')
{ $safearr = explode("|",$jump);
$start_time=microtime(true);
safe_check($dir);
$end_time=microtime(true);
$total=$end_time-$start_time;
$file_num=$file_num-$dir_num;
$message= " 文件數(shù):".$file_num;
$message.= " 文件夾數(shù):".$dir_num;
$message.= " 可疑文件數(shù):".$danger_num;
$message.= " 執(zhí)行時間:".$total;
echo $message;
exit();
}
function GetHttpVars() {//全局變量
$superglobs = array(
'_POST',
'_GET',
'HTTP_POST_VARS',
'HTTP_GET_VARS');
$httpvars = array();
foreach ($superglobs as $glob) {
global $$glob;
if (isset($$glob) && is_array($$glob)) {
$httpvars = $$glob;
}
if (count($httpvars) > 0)
break;
}
return $httpvars;
}
function Safe_Check($dir)//遍歷文件
{
global $danger ,$suffix ,$dir_num ,$file_num ,$danger_num;
$hand=@dir($dir) or die('文件夾不存在') ;
while ($file=$hand->read() )
{
$filename=$dir.'/'.$file;
if (!$jumpoff) {
if(Jump($filename))continue;
}
if(@is_dir($filename) && $file != '.' && $file!= '..'&& $file!='./..')
{ $dir_num++;
Safe_Check($filename);
}
if (preg_match_all ("/\.($suffix)/i",$filename,$out))
{
$str='';
$fp = @fopen($filename,'r')or die('沒有權(quán)限');
while(!feof($fp))
{
$str .= fgets($fp,1024);
}
fclose($fp);
if( preg_match_all ("/($danger)[ \r\n\t]{0,}([\[\(])/i",$str,$out))
{
echo "<font color='green' style='font-size:14px'>可疑文件:{$filename}</font>
<a href='?m=edit&filename=$filename' target='_blank'><u>查看代碼</u></a>
<a href='?m=del&filename=$filename' target='_blank'>刪除</u></a><br>";
$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('沒有權(quán)限');
$content = fread($fp,filesize($file));
fclose($fp);
$content = htmlspecialchars($content);
}
echo "<textarea name='str' style='width:100%;height:450px;background:#cccccc;'>$content</textarea>\r\n";
exit();
}
function Delete()//刪除文件
{
global $filename;
(is_file($filename))?($mes=unlink($filename)?'刪除成功':'刪除失敗 查看權(quán)限'):'';
echo $mes;
exit();
}
function Jump($file)//跳過文件
{
global $jump,$safearr;
if($jump != '')
{
foreach($safearr as $v)
{
if($v=='') continue;
if( eregi($v,$file) ) return true ;
}
}
return false;
}
?>
<form action="" >
<input type="submit" value="開始檢測" />
<input type="hidden" name="check" value="check"/>
</form>

相關(guān)文章

  • laravel實現(xiàn)批量更新多條記錄的方法示例

    laravel實現(xiàn)批量更新多條記錄的方法示例

    最近在使用Laravel,想批量插入近千條數(shù)據(jù),通過網(wǎng)上找到了相關(guān)的解決方法,所以下面這篇文章主要給大家介紹了關(guān)于laravel實現(xiàn)批量更新多條記錄的相關(guān)資料,文中給出了詳細的示例代碼,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • 雙冒號 ::在PHP中的使用情況

    雙冒號 ::在PHP中的使用情況

    前幾天在百度知道里面看到有人問PHP中雙冒號::的用法,當時給他的回答比較簡潔因為手機打字不大方便!今天突然想起來,所以在這里總結(jié)一下我遇到的雙冒號::在PHP中使用的情況
    2015-11-11
  • Thinkphp關(guān)閉緩存的方法

    Thinkphp關(guān)閉緩存的方法

    這篇文章主要介紹了Thinkphp關(guān)閉緩存的方法,開發(fā)項目時經(jīng)常需要調(diào)戲,有緩存的話不太方便,因此總出了關(guān)閉緩存的方法,需要的朋友可以參考下
    2015-06-06
  • PHP技術(shù)開發(fā)微信公眾平臺

    PHP技術(shù)開發(fā)微信公眾平臺

    這篇文章主要介紹了微信公眾平臺的兩種模式(編輯模式和開發(fā)模式)顧名思義編輯模式就是寫普通的功能,開發(fā)模式具有更多的功能,下面主要是針對開發(fā)模式做介紹,需要的朋友可以參考下
    2015-07-07
  • laravel單元測試之phpUnit中old()函數(shù)報錯解決

    laravel單元測試之phpUnit中old()函數(shù)報錯解決

    這篇文章主要給大家介紹了關(guān)于laravel單元測試之phpUnit中old()函數(shù)報錯的解決過程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • ThinkPHP打水印及設(shè)置水印位置的方法

    ThinkPHP打水印及設(shè)置水印位置的方法

    這篇文章主要介紹了ThinkPHP打水印及設(shè)置水印位置的方法,結(jié)合實例形式分析了thinkPHP打印與設(shè)置水印的相關(guān)操作步驟與具體實現(xiàn)技巧,需要的朋友可以參考下
    2016-10-10
  • php cli換行示例

    php cli換行示例

    這篇文章主要介紹了php cli換行示例,需要的朋友可以參考下
    2014-04-04
  • php使用mkdir創(chuàng)建多級目錄入門例子

    php使用mkdir創(chuàng)建多級目錄入門例子

    這篇文章主要介紹了php使用mkdir創(chuàng)建多級目錄入門例子,需要的朋友可以參考下
    2014-05-05
  • PHP實現(xiàn)數(shù)據(jù)庫的增刪查改功能及完整代碼

    PHP實現(xiàn)數(shù)據(jù)庫的增刪查改功能及完整代碼

    這篇文章主要介紹了PHP實現(xiàn)數(shù)據(jù)庫的增刪查改功能及完整代碼,需要的朋友可以參考下
    2018-04-04
  • Zend Framework入門教程之Zend_Registry組件用法詳解

    Zend Framework入門教程之Zend_Registry組件用法詳解

    這篇文章主要介紹了Zend Framework入門教程之Zend_Registry組件用法,結(jié)合實例形式分析了Zend_Registry組件實現(xiàn)對象注冊的設(shè)置、獲取、判斷、刪除等操作常用技巧,需要的朋友可以參考下
    2016-12-12

最新評論

乐亭县| 庄浪县| 康保县| 阜城县| 宜阳县| 铁力市| 永济市| 黄陵县| 新余市| 灵丘县| 寿宁县| 勐海县| 上犹县| 忻城县| 东乌珠穆沁旗| 拉萨市| 房产| 波密县| 万安县| 南漳县| 全南县| 手机| 新田县| 新昌县| 磐安县| 嵊州市| 荔波县| 宝清县| 铁岭市| 石城县| 丹江口市| 调兵山市| 青河县| 合水县| 汉川市| 新蔡县| 东莞市| 嘉祥县| 专栏| 青海省| 海阳市|