ホームページ  >  記事  >  バックエンド開発  >  PHP トロイの木馬 Webshel​​l スキャナー コード_PHP チュートリアル

PHP トロイの木馬 Webshel​​l スキャナー コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:21:201137ブラウズ

コードをコピーします コードは次のとおりです:

/*
+------------------------ ---------------------------------------------------- ----+
| インデックス php による
| (c) 2009 インデックス php |
-------- -------------------------------------- -------- --+
*/
/*===================== プログラム構成========== ======== ===*/
$dir='cms'; //スキャンするディレクトリを設定します
$jumpoff=false; //ファイルのチェックをスキップするように設定します
$jump='safe. php|g'; //この設定はスキップするファイルまたはフォルダーをチェックする場合に有効です $jumpoff=false
$danger='eval|cmd|passthru';//判定する危険な関数を設定しますトロイの木馬ファイルです
$suffix='php| inc';//スキャンするファイルのサフィックスを設定します
$dir_num=0;
$danger_num=0; =============== === 設定の終了=====================*/
extract (GetHttpVars() );
if ($m=="edit") 編集()
if ($check=='check')
{ $safearr =explode( "|",$jump);
$start_time=microtime($dir);
$total=$end_time-$file_num-; $dir_num;
$message= "ファイルの数: ".$file_num;
$message.= " 疑わしいファイルの数: ".$danger_num; message.= " 実行時間: ".$total;
exit();
function GetHttpVars() {//グローバル変数
$superglobs = array(
'_POST',
'_GET',
'HTTP_POST_VARS',
'HTTP_GET_VARS');
$httpvars = array() ;
foreach ($superglobs として $glob) {
if (isset($$glob) && is_array; )) {
$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) または die('フォルダーが存在しません') ; read() )
{
$filename=$dir.'/'.$file ;
if (!$jumpoff) {
if(Jump($filename))
}
if(@is_dir($filename) && $file != '.' && $file!= '..'&& $ file!='./..')
{ $dir_num++($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)[rnt]{0,} ([[(])/i",$str,$out))
{
echo "不審なファイル: {$filename}< /font>
コードを表示
削除
";
$danger_num++;
}
}
$file_num++;
}
}
function Edit()/ /疑わしいファイルを表示する
{
global $filename;
$filename = str_replace( "..","",$filename);
$content = ""; ))
{
$fp = fopen($file,"r") または die('許可なし')
$content = fread($fp,filesize($file)); $content = htmlspecialchars($content);
}
echo "rn" ;
exit();
}
function Delete()//ファイルを削除
(is_file($filename))?($mes=unlink($filename)?'削除成功ビュー許可に失敗しました'):'';
echo $mes;
exit( );
function Jump($file)//ファイルをスキップします
global $jump != ' ')
{
foreach($safearr as $v)
{
if($v=='') continue;
if( eregi($v,$file) ) return true
}
}
return false;
}
?>







http://www.bkjia.com/PHPjc/324899.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/324899.html

技術記事

次のようにコードをコピーします: ?php /* +----------------------------------------------------- --------- ----------------------------------+ Codz (indexphp バージョン): 0.01 | (c) 2009 インデックスphp |

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。