Показать сообщение отдельно

  #23352  
Старый 02.03.2014, 01:44
Unknown
Новичок
Регистрация: 21.06.2005
Сообщений: 1
С нами: 10992741

Репутация: 0
По умолчанию

Если не сложно, нужно еще немного помощи.

Пробую залить первичный шелл через SQL инъекцию, но не получается, запрос, судя по всему, выдает ошибку. Варианта два - либо нет прав на запись файла в директорию сайта (не думаю, что в этом дело) или, самое вероятное, проблему создает хвост запроса - " and DDD = 1". Если в случае обычного запроса к таблицам можно было избавиться от хвоста, написав запрос, который объединяет три подзапроса через union, где первый и третий использовались лишь для замыкания конструкций по обе стороны от места инъекции, а главная работа происходила во втором, то сейчас такой трюк не сработает, будет выдавать "Incorrect usage of UNION and INTO". Попытка закомментировать хвост через ;# или # не дает эффекта.

Код:

Код:
$sql  = "select OUT_A, concat(NN1, ' ', NN2) as nn, OUT_B, LL";
$sql .= "from TABLE ";
$sql .= " where DD = 0";
$sql .= " and IN_A = '".$p_ina."'";
$sql .= " and IN_B = '".$p_inb."'";
$sql .= " and DDD = 1";
$this -> select_from_db($sql, $out_data);
Входные значение пробовал такие:

$p_ina - 1

$p_ina - ' union select OUT_A,2,3,4 from TABLE where OUT_A = 123 union select 1,2,3,4 into outfile 'tmp'#

Как добиться выполнения запроса - пока нет никаких идей.

UPD: решил проверить, а работает ли комментирование хвоста через # для обычного запроса. Как оказалось, работает (потому я упростил вышенаписанное значение переменной в соответствии с ситуацией). В таком случае, запрос на запись файла не работает по каким-то другим причинам. Что интересно, что если удалить подчеркнутую часть, тем самым оставив лишь запрос на получение данных из таблицы, то работает. Такое ощущение, что у mysql нет прав на запись файлов, даже в собственном каталоге - такое может быть?
 
Ответить с цитированием