Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Портал .::2BakSa.WS::.
Вернуться   Компьютерный форум NoWa.cc > Компьютеры и Интернет > Интернет партизаны > Хакинг в глобальной сети WWW

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжелое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WMR: 146037758184 Webmoney WMP: 209123518174 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелек для вашей помощи YooMoney 410013204813773
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Поиск в этой теме Опции просмотра Language
Старый 11.10.2007, 09:33   #1
Неактивный пользователь
 
Аватар для SaraTancredi
 
Регистрация: 03.10.2007
Сообщений: 13
Репутация: 2
По умолчанию sql inj: связка order+union

есть на сервере скриптик с известным исходником
PHP код:
$query "SELECT name, date FROM post ORDER by date desc LIMIT $start,$per_page"
так вот, в переменную $per_page можно загнать через _POST любое значение (даже с кавычками и слешами) но т.к. стоит ORDER то union не работает, выдает
Код:
Incorrect usage of UNION and ORDER BY
чтоб заработало - надо ставить скобки типа такого
PHP код:
(SELECT ... ORDER ...) union (SELECT ... ) 
но так ессно сделать нельзя, т.к. можно писать только в конец запроса через $per_page

нужно вытащить пароль (md5 пароля) pass из таблицы users, имя юзера известно; или сделать себе статус админа (через UPDATE - столбец user_type в той же таблице)

или хотя бы узнать - может навредить сайту такая "дыра" хоть как-то, движок распространён достаточно - нужно тогда девелоперам писать на багтрак

вот собсно проблема, всем заранее спасибо за совет
__________________
perl -e 'print$i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10); '

Последний раз редактировалось SaraTancredi; 11.10.2007 в 10:04..
SaraTancredi вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама


Реклама: комоды фото и ценазнак аптечки первой помощи по гост размерысплит-система bsdi-24hn1 balluвулканитовый дискдатчик ntc060hp00


Старый 11.10.2007, 18:36   #2
Deementor
ViP
 
Пол:Мужской
Регистрация: 17.09.2006
Сообщений: 1,192
Репутация: 1592
По умолчанию Ответ: sql inj: связка order+union

SaraTancredi, гы, стеб уместен только в определенных местах.
погнали короче:
функция
$per_page выводит кол-во страниц выведенных на показ.
Ваш скрипт нуждается в отладке. Какой именно скрипт я не знаю, их туево тутуево и ваше "известный скрипт" по крайней мере мне ни чего не говорит.
На сколько я понял постраничный вывод базы данных уже сделали )))
Если мне не изменяет память, есть уязвимость этой функции.
Это просмотр страницы в обход проверки прав. Известный мне способ лечения:
Код:
in the file: func_topic_threaded.php:
делаем следующие:
находим
/-/
 Are we viewing Posts?
/-/

  $post_id = intval($this->ipsclass->input['pid']);

И после добавляем следующие:
  if($post_id && !in_array($post_id, $this->pids))
  {
  $this->ipsclass->Error( array( LEVEL => 1, MSG => 'missing_files') );
  }
Собственно все.

В вашем же случае взломщик попробует сгенерировать страницу из базы данных с user_name and pass,

Но как вы сами убедились не чего не получится.
Вроде максимально полно ответил )))
P.S. ежели чего, не кидайте камнями.

Последний раз редактировалось Deementor; 11.10.2007 в 18:42..
Deementor вне форума
 
Ответить с цитированием Вверх
Эти 2 пользователя(ей) сказали cпасибо за это полезное сообщение:
Старый 11.10.2007, 19:46   #3
SaraTancredi
Неактивный пользователь
 
Аватар для SaraTancredi
 
Регистрация: 03.10.2007
Сообщений: 13
Репутация: 2
По умолчанию Ответ: sql inj: связка order+union

спасиб за ответ
осталось несколько вопросов
- залатать дыру просто, надо поставить
PHP код:
$per_page intval($per_page); 
- "известный скрипт" - DLE всех последних версий
- интересует именно незалатанный вариант - может ли что-то сделать злоумышленник?
Просто этот order by всю малину портит, без него было бы прекрасно
PHP код:
$query "SELECT name, date FROM post LIMIT 0,$per_page";  
$per_page="1 UNION SELECT name,pass FROM users WHERE user_type=admin LIMIT 0,1" 
а с order надо оба запроса в скобки ставить, но вначале нельзя поставить скобку - только в конце "дописывать" запрос. вот и инетресно - можно ли что-то дописать (какой-нить JOIN) чтоб выполнить операцию в БД
вообще по синтаксису SELECT после LIMIT может идти только [PROCEDURE procedure_name] и [FOR UPDATE | LOCK IN SHARE MODE]
__________________
perl -e 'print$i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10); '

Последний раз редактировалось SaraTancredi; 11.10.2007 в 19:53..
SaraTancredi вне форума
 
Ответить с цитированием Вверх
Старый 11.10.2007, 22:03   #4
Deementor
ViP
 
Пол:Мужской
Регистрация: 17.09.2006
Сообщений: 1,192
Репутация: 1592
По умолчанию Ответ: sql inj: связка order+union

SaraTancredi, я что то не въеду ни как, ты спрашиваешь или утверждаешь? если читать как вопрос, то ты сама же на него и даешь ответ. Только смотришь на вещи стандартно.
Если есть возможность генерации неавторизованной страницы в базе sql, то это должно навести на мысль sql-инъекции. Что в свою очередь даст возможность сделать бэкап этой базы на машину мошенника. Которую в exel он легко откроет и выдернит MySQL или MySQL5 хеши. И админский и пользовательский.
Как я понимаю таким хаком
PHP код:
$per_page intval($per_page); 
ты только преобразуешь переменную $per_page к целому типу, тоесть запретишь "@%* но не запретишь генерацию строки.
Deementor вне форума
 
Ответить с цитированием Вверх
Эти 2 пользователя(ей) сказали cпасибо за это полезное сообщение:
Ответ

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связка ключей Llei Mac Os X 4 07.01.2010 15:31
Три икса 2: Новый уровень / xXx: State of the Union Meverik Зарубежные фильмы 0 30.04.2005 16:48

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

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

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


Текущее время: 07:37. Часовой пояс GMT +3.


Copyright ©2004 - 2022 2BakSa.WS

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2022, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.16240 секунды с 11 запросами