php木马webshell扫描器代码_PHP
webshell
复制代码 代码如下:/*
+--------------------------------------------------------------------------+
| Codz by indexphp Version:0.01 |
| (c) 2009 indexphp |
| http://www.indexphp.org |
+--------------------------------------------------------------------------+
*/
/*===================== 程序配置 =====================*/
$dir='cms'; //设置要扫描的目录
$jumpoff=false;//设置要跳过检查的文件
$jump='safe.php|g'; //设置要跳过检查的文件或者文件夹 $jumpoff=false 时此设置有效
$danger='eval|cmd|passthru';//设置要查找的危险的函数 以确定是否木马文件
$suffix='php|inc';//设置要扫描文件的后缀
$dir_num=0;
$file_num=0;
$danger_num=0;
/*===================== 配置结束 =====================*/
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= " 文件数:".$file_num;
$message.= " 文件夹数:".$dir_num;
$message.= " 可疑文件数:".$danger_num;
$message.= " 执行时间:".$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('没有权限');
while(!feof($fp))
{
$str .= fgets($fp,1024);
}
fclose($fp);
if( preg_match_all ("/($danger)[ \r\n\t]{0,}([\[\(])/i",$str,$out))
{
echo "可疑文件:{$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 "\r\n";
exit();
}
function Delete()//删除文件
{
global $filename;
(is_file($filename))?($mes=unlink($filename)?'删除成功':'删除失败 查看权限'):'';
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;
}
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









シナリオの説明では、実際の運用環境に RCE 脆弱性が存在し、WebShell 環境のインストールを取得できることを前提としています。まず、GetHub で脆弱なイメージを取得する前に、事前に nginx と Tomcat を centos にインストールする必要があります。 nginx と tomcat 構成ファイルを構成し、docker を使用してイメージをプルダウンし、脆弱性を再現します。 1. まず docker 環境をセットアップします 2. tomcat にアクセスできるかテストします 上図からわかるように、バックエンドの tomcat にアクセスできます 3. docker で nginx リバース プロキシの負荷分散を確認します 4. docker の lbsnode1 の ant を確認してください。.jsp テキスト

1. URLを開いたところ、アップロードページであることが判明 2. 接尾辞phpのファイルを直接アップロードしたが、アップロードできないことが判明 3. BurpSuiteを使用してパケットをキャプチャし、接尾辞を変更アップロードしたファイルのサフィックス php を php5 に変更してバイパスします 4. 包丁を使って接続します var/www/html のディレクトリに KEY が付いたファイルがありますので開くと key5 が表示されます 開く別の URL (アップロード ページでもありますが、アップロード リストが設定されています) 接尾辞 .gif.jpg.png を持つファイルのみをアップロードします 6. txt 一文のトロイの木馬を作成し、その接尾辞を jpg7 に変更します。アップロード時に、BurpSiuitを使用してパケットをキャプチャし、表示するようにファイルのサフィックスを変更します。

インターネットのセキュリティ問題がますます顕著になるにつれ、主要な Web サイトやアプリケーションのセキュリティがますます重要な問題になっています。特にWebサイトの運用・保守管理においては、保守や修復のためにWebShellなどのツールが必要になることが多いですが、WebShellはハッカーによっても利用されることが多く、攻撃者の侵入口となってしまいます。この記事では、Web サイト管理者がサイトのセキュリティを向上させるのに役立つ、Pagoda パネルの WebShell セキュリティ設定を紹介します。 1. WebShell の概念と一般的な使用法 1. WebShell の概念は次のとおりです。

ローカル環境構築 保存されているスクリーンショットから判断すると、相手のPHPバージョンは5.6.40なので、apache+php5.6.40のテスト環境を構築したいと思います。 virtualbox を開き、centos イメージ システムへのリンクをコピーし、次の手順に従って設定します。 1.apacheyuminstall-yhttpdhttpd-vServerversion:Apache/2.4.6(CentOS)Serverbuilt:Aug8201911:41:182をインストールします。php5.6yum-yinstallepel-releaserpm-Uvhをインストールしますhttps://mi

この記事では、Empire CMS フレームワークの Webshell について紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

SINE Security は、顧客の Web サイトで Web サイトの脆弱性の検出と修復を実施していたところ、その Web サイトに重大な SQL インジェクションの脆弱性と、アップロードされた Web シェル Web サイトのトロイの木馬ファイルの脆弱性があることが判明しました。この Web サイトは、PHP 言語で開発され、mysql データベース アーキテクチャを備えた CMS システムを使用していました。このウェブサイトのソースコードは現在オープンソースです。あるCMSは、ナレッジの有料提供に特化したソーシャルCMSシステムです 現在のインターネット上でナレッジに対する支払いの需要が高まっています ドキュメントを共有し、有料でダウンロードできるシステムです ユーザーが公開したナレッジコンテンツを非表示にして提供することができます有料のお客様へお読みください。コードは比較的合理化されており、大多数の Web マスターに好まれています。この Web サイトの脆弱性は主に、圧縮パッケージをアップロードし、zip パッケージ内の w を参照する悪意のある解凍コードを構築するときに発生します。

Webシェルとは何ですか?当初、Webshell は、Web サーバー管理者がサーバーをリモートで管理するために使用するスクリプトの一種の略語としてよく使用されていました。その後、いくつかの Webshell 管理ツールの誕生により、Web 権限を取得するプロセスが大幅に簡素化されたため、徐々に Web 侵入ツール スクリプトと呼ばれるようになりました。 WebShell は脆弱性とは異なりますが、アプリケーションの脆弱性やサーバーの脆弱性 (ファイル アップロードの脆弱性、ファイル インクルードの脆弱性など) を利用してスクリプト ファイルをサーバーにアップロードし、後続の悪用を行うものであり、侵入テストの後続悪用や TA0002Execution (実行) に属します。 )ATT&CKのステージ。図1TA0002 参照元:https

まず、私がしなければならないことは、アップロードされた場所がどこに表示されるかを見つけることではなく、サーバーにログオンしてWebシェルの検査を実行し、検査を行って、他人によって侵入されていないかどうかを確認する必要があることを理解しています。バックドアがあるかどうかなど。報告された IP アドレスは当社の IP アドレスですが、いくつかの Web シェルが見逃され、他の人がアップロードに成功したにもかかわらず検出されなかった場合、サーバーが侵入された場合はどうすればよいでしょうか?そこで私はサーバーを調査し、WebShell 強制終了ツールをアップロードして、netstat-anpt と iptables-L を使用してバックドアが確立されているかどうかを確認し、CPU を占有しているマイニング プログラムがあるかどうかを確認しました。ここでは詳細には触れません。幸いなことに、サーバーは侵害されませんでしたが、
