ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   phd afterparty уязвимость в веб скрипте (https://forum.antichat.xyz/showthread.php?t=308856)

tiger 17.12.2011 13:56

Подскажите пожалуйста в какую сторону копать в скрипте на 192.168.0.14:80

аккаунт я создал используя иньекцию в поле age

Но как считать содержимое config.php либо переменной $key я не пойму

как вариант либо сделать както инклуд через аплоад файла благо здесь используется функция copy (но примеров как это можно реализовать нигде не нашел, тем более здесь как я понял есть смысл только подменить tmp_name)

Код:

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 .= 'File
';                                                                                                                   
                }                                                                                                                                                                                     
                }

еще 1 вариант, но как я понял при таком коде иньекцию через _POST['age'] не получится сделать т.к. она переводится в int.

Код:

$age  = (int)$_POST['age'];
$query_text  = "UPDATE `users` SET `login` = '".$login."', `age` = '".$age."' WHERE `login` = '".$_SESSION['login']."'";

Остается вариант както заинклудить через аватар, но вытащить данные в него можно только либо сделав иньекцию в предыдущем блоке через _POST['age'] либо как-то добавив данные в это поле при регистрации.

Код:

$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?

XAMEHA 17.12.2011 17:12

Можно многое, но ответ скорее всего будет дан после окончания данного квеста.

//Ответы на все вопросы есть в паблике.


Время: 19:56