php木马webshell扫描器代码_php实例
/*
+--------------------------------------------------------------------------+
| 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;
}
?>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Bei der Beschreibung des Szenarios wird davon ausgegangen, dass in einer realen Produktionsumgebung eine RCE-Schwachstelle vorliegt, die es uns ermöglicht, die Installation der WebShell-Umgebung zu erhalten. Bevor wir das anfällige Image auf GetHub abrufen, müssen wir zunächst Nginx und Tomcat auf Centos installieren Konfigurieren Sie die Konfigurationsdatei von Nginx und Tomcat, laden Sie das Image mit Docker herunter und reproduzieren Sie die Sicherheitslücke. 1. Richten Sie zuerst die Docker-Umgebung ein. 2. Testen Sie, ob auf Tomcat zugegriffen werden kann. 3. Überprüfen Sie den Lastausgleich von Nginx Reverse Proxy. Überprüfen Sie die Ameise in lbsnode1 im Docker-.jsp-Text

1. Nach dem Öffnen der URL wurde festgestellt, dass es sich um eine Upload-Seite handelte. 2. Die Datei mit dem Suffix php wurde direkt hochgeladen, es wurde jedoch festgestellt, dass sie nicht hochgeladen werden konnte. 3. Verwenden Sie BurpSuite, um das Paket zu erfassen und das Suffix zu ändern der hochgeladenen Datei mit dem Suffix php zu php5, um sie zu umgehen. Im Verzeichnis var/www/html wird eine Datei mit KEY5 gefunden eine andere URL, die auch eine Upload-Seite ist, aber die Upload-Liste ist nur auf das Hochladen von Dateien mit dem Suffix .gif.jpg.png eingestellt. 6. Wir schreiben einen TXT-Trojaner mit einem Satz und ändern sein Suffix in jpg7. Verwenden Sie beim Hochladen BurpSiuit, um das Paket zu erfassen und das anzuzeigende Dateisuffix zu ändern

Da Fragen der Internetsicherheit immer wichtiger werden, ist die Sicherheit wichtiger Websites und Anwendungen zu einem immer wichtigeren Thema geworden. Insbesondere im Website-Betrieb und Wartungsmanagement werden häufig Tools wie WebShell für Wartung und Reparatur benötigt. WebShell wird jedoch auch häufig von Hackern verwendet und wird zum Einstiegspunkt für Angreifer. In diesem Artikel werden die WebShell-Sicherheitseinstellungen des Pagoda-Panels vorgestellt, um Website-Administratoren dabei zu helfen, die Sicherheit der Website zu verbessern. 1. Das Konzept und die allgemeine Verwendung von WebShell 1. Konzept WebShell ist

Einrichten der lokalen Umgebung Den gespeicherten Screenshots nach zu urteilen, ist die PHP-Version der anderen Partei 5.6.40, daher möchte ich eine Testumgebung von Apache+php5.6.40 einrichten. Öffnen Sie Virtualbox, kopieren Sie den Link zum Centos-Image-System und konfigurieren Sie ihn gemäß dem folgenden Prozess. 1.Installieren Sie apacheyuminstall-yhttpdhttpd-vServerversion:Apache/2.4.6(CentOS)Serverbuilt:Aug8201911:41:182.Installieren Sie php5.6yum-yinstallepel-releaserpm-Uvhhttps://mi

Dieser Artikel stellt Ihnen die Webshell des Empire CMS-Frameworks vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

SINE Security führte eine Website-Schwachstellenerkennung und -behebung auf der Website eines Kunden durch und stellte fest, dass die Website schwerwiegende SQL-Injection-Schwachstellen und Schwachstellen in hochgeladenen Webshell-Website-Trojanern aufwies. Die Website verwendete ein CMS-System, das mit der PHP-Sprache und der MySQL-Datenbankarchitektur entwickelt wurde Der Quellcode dieser Website ist derzeit Open Source. Ein bestimmtes CMS ist ein soziales CMS-System, das sich auf die Bereitstellung von kostenpflichtigem Wissen konzentriert. Dieses System kann Dokumente teilen und gegen eine Gebühr herunterladen. Die von Benutzern veröffentlichten Wissensinhalte können ausgeblendet und bereitgestellt werden an zahlende Kunden lesen. Der Code ist relativ schlank und gefällt den meisten Webmastern. Die Schwachstelle dieser Website tritt hauptsächlich beim Hochladen des komprimierten Pakets und beim Erstellen böswilligen Dekomprimierungscodes auf, der auf das w im ZIP-Paket verweist.

Zunächst einmal verstehe ich, dass ich nicht herausfinden muss, wo der hochgeladene Speicherort angezeigt wird. Ich sollte mich beim Server anmelden, um eine WebShel-Inspektion durchzuführen und festzustellen, ob er von anderen angegriffen wurde eine Hintertür usw. usw. Obwohl es sich bei der gemeldeten IP-Adresse um die IP-Adresse unseres Unternehmens handelt, was können wir tun, wenn der Server angegriffen wird, wenn einige Webshells übersehen und von anderen erfolgreich hochgeladen, aber nicht erkannt werden? Also ging ich hoch, um den Server zu inspizieren, lud dieses Webshell-Kill-Tool zum Töten hoch, benutzte netstat-anpt und iptables-L, um festzustellen, ob eine Hintertür eingerichtet war, überprüfte, ob ein Mining-Programm die CPU belegte usw., das werde ich tun Gehen Sie hier nicht auf Details ein. Glücklicherweise wurde der Server nicht kompromittiert, und dann

Was ist WebShell? Anfangs wurde Webshell häufig als Abkürzung für einen Skripttyp verwendet, mit dem Webserveradministratoren den Server aus der Ferne verwalten. Später, mit der Einführung einiger Webshell-Verwaltungstools, wurde der Prozess zum Erhalten von Webberechtigungen erheblich vereinfacht, sodass er nach und nach als Web-Intrusion-Tool-Skript bezeichnet wurde. Webshell unterscheidet sich von Schwachstellen, nutzt jedoch Anwendungsschwachstellen oder Serverschwachstellen (Schwachstellen beim Hochladen von Dateien, Schwachstellen bei der Dateieinbindung usw.), um Skriptdateien zur späteren Ausnutzung auf den Server hochzuladen. Es gehört zur anschließenden Ausnutzung von Penetrationstests und der Ausführung (Ausführung). ) Phase von ATT&CK. Abbildung 1TA0002 Referenzquelle: https
