phd afterparty уязвимость в веб скрипте

Discussion in 'Песочница' started by tiger, 17 Dec 2011.

  1. tiger

    tiger New Member

    Joined:
    6 Oct 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Подскажите пожалуйста в какую сторону копать в скрипте на 192.168.0.14:80
    аккаунт я создал используя иньекцию в поле age
    Но как считать содержимое config.php либо переменной $key я не пойму
    как вариант либо сделать както инклуд через аплоад файла благо здесь используется функция copy (но примеров как это можно реализовать нигде не нашел, тем более здесь как я понял есть смысл только подменить tmp_name)
    Code:
    foreach ($_FILES["file"]["tmp_name"] as $key => $name)                                                                                                                                 
                    {                                                                                                                                                                                      
                    if ($_FILES["file"]["size"][$key]!==0)                                                                                                                                                 
                    {                                                                                                                                                                                      
                    print"--".var_dump($_FILES)."-------".$_FILES["file"]["tmp_name"][$key]."-----$fname--------";die();                                                                                   
                            $fname = md5(mt_rand());                                                                                                                                                       
                            copy($_FILES["file"]["tmp_name"][$key],'./upload/'.$fname.'.txt');                                                                                                             
                            $text .= '<a href="./upload/'.$fname.'.txt">File</a><br>';                                                                                                                     
                    }                                                                                                                                                                                      
                    }                        
    
    еще 1 вариант, но как я понял при таком коде иньекцию через _POST['age'] не получится сделать т.к. она переводится в int.
    Code:
        $age   = (int)$_POST['age'];
    $query_text   = "UPDATE `users` SET `login` = '".$login."', `age` = '".$age."' WHERE `login` = '".$_SESSION['login']."'";    
    Остается вариант както заинклудить через аватар, но вытащить данные в него можно только либо сделав иньекцию в предыдущем блоке через _POST['age'] либо как-то добавив данные в это поле при регистрации.
    Code:
                                                                                                                                                                                  
            $login    = mysql_real_escape_string(htmlspecialchars($_POST['login']));                                                                                                                       
            $email    = mysql_real_escape_string(htmlspecialchars($_POST['email'])).$config['email'];                                                                                                      
        $password = md5(md5($_POST['password']));                                                                                                                                                          
        $age      = $_POST['age'];                                                                                                                                                                         
         $query_text   = "INSERT INTO `users` (`login`,`email`,`password`,`age`,`reg`,`reg_key`)                                                                                                 
                                                            VALUES ('".$login."','".$email."','".$password."',".$age.",0,'".$reg_key."')";
    
    в этом запросе мы можем сделать иньекцию в _POST['age'] можно ли както иньекцией добавить в данные в поле avatar?
     
  2. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Можно многое, но ответ скорее всего будет дан после окончания данного квеста. ;)

    //Ответы на все вопросы есть в паблике.
     
    #2 randman, 17 Dec 2011
    Last edited: 17 Dec 2011
Loading...