PDA

Просмотр полной версии : phd afterparty уязвимость в веб скрипте


tiger
17.12.2011, 13:56
Подскажите пожалуйста в какую сторону копать в скрипте на 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 .= 'File
';
}
}

еще 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?

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

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