SQL инъекция

Статус
В этой теме нельзя размещать новые ответы.
Скажите пожалуйста, я тут сорудил функцию и засунул в нее все, что нашел в инете. Является ли она правильной и будет ли она работать?
У вас неверный подход. Надо начала надо подумать, потом свое написать.
PHP:
function sql_injection( $str )
{
  if (preg_match( "~(now|grant%|show%|select%|drop%|insert%|update%|create%|table%|load%|file%|union%|%20|;|%|\-\-)~msi", $str ))
  {
    $res = true;
  }
  else
  {
    $res = false;
  }
  return $res;
}
В приведенном выше примере % надо чтобы отключать некоторые слова. И работает оно у меня в комплексе с
PHP:
function write_inj_list( $str )
function is_injector( $str )
function test_on_injection ( $str, $ip)
А не просто так :) Защищаться, дык уже и ай-пи резать, шобы знали.
 
а можно былоб при помощи регулярного выражения отфильтровать все кроме цифр и не парится =)
 
А что ты сказал про комплекс функций?? я не понял немного. Это у тебя все проверка и защита от инъекций?

Можно выложить сюда весь твой вариант защиты с небольшим пошаговым описанием?
 
  • Заблокирован
  • #24
Здравствуйте все!
Хотелось бы получить небольшой совет. Исследую сайт в lan. Нашёл уютненькое местечко для инъекции:
Код:
http://video.lan/video.php?razdel=5'&sort=1
Тут мне дико повезло, You have an error in your SQL syntax; При том повезло мне даже перед ORDER BY, а не после.
Дальше подставляю свой хитрый код:
Код:
http://video.lan/video.php?razdel=5 UNION SELECT 0, 0, 0, 0, 0, DATABASE(), USER(), 0, 0, 0 FROM MAIN LIMIT 0,120--
Соответственно опытным путём было установлено, что в таблице ровно 10 полей и на данной странице показываются только 6 и 7. Опытным же путём было установлено существование таблицы USERS. Что-то мне подсказывает, что в ней много интересного.
Теперь мои теоретические знания начали меня подводить. Названия полей в таблице USERS я не знаю. Пресловутые user/password не подходят SELECT * FROM USERS я сделать не могу - выдаст ошибку про несовпадение количества полей, а писать SELECT 0,0,0,0,0,0,*,0 FROM USERS - бред?
Гадский фокус:
Код:
http://video.lan/video.php?razdel=5 UNION SELECT 0, 0, 0, 0, 0, DATABASE(), mysql.user.password, 0, 0, 0 FROM mysql.user LIMIT 0,120--
Не прошёл, и выругался: command denied to user
Что посоветуете с полями таблицы USERS? Что ещё можно интересного подставить в запрос?

-===UPDATE===-

Я прошу прощения! INFORMATION_SCHEMA.TABLES и INFORMATION_SCHEMA.COLUMNS ещё никто не отменял. Кому может пригодится


Всё-равно буду рад дельным советам
 
Дельный совет - пряч свой IP и вообще всячески маскируйся. "Условно" за такие дела дают на раз, даже если на сервере всего лишь фотки любимой кошки владельца. А сервер логи то пишит. Простой стук в мусарню сгоряча - и проблем не оберешься.
 
  • Заблокирован
  • #26
Нене. Тут всё законно - то бишь сайт пока в стадии тестирования. Вотъ я и пытаюсь добыть логин-пароль, говорю что и как исправить.
Всё равно, спасибо за совет!
 
Дельный совет - пряч свой IP и вообще всячески маскируйся. "Условно" за такие дела дают на раз, даже если на сервере всего лишь фотки любимой кошки владельца. А сервер логи то пишит. Простой стук в мусарню сгоряча - и проблем не оберешься.


Он разве какой-то вред причинил? Или что? Какая статья, что дают "условно"?
 
Он разве какой-то вред причинил? Или что? Какая статья, что дают "условно"?
В сфере компьютерной информации Уголовным кодексом РФ выделяются три состава преступления – неправомерный доступ к компьютерной информации (Для просмотра ссылки Войди или Зарегистрируйся), создание вредоносных программ для электронно-вычислительных машин (ст. 273), нарушение правил их эксплуатации, систем их сетей (ст. 274).
За первые пять лет действия нового Кодекса по данным статьям возбуждено свыше трех тыс. уголовных дел, из них около 60 % направлено в суд.
 
Он разве какой-то вред причинил? Или что? Какая статья, что дают "условно"?
Вреда он может и не причинил, но случись чего - я думаю, придётся приложить немало сил, доказывая, что ты не верблюд таким вот кадрам, которые это пишут:
 
Для кого-то к сожалению, а для кого-то к счастью, но раскрываемость по хацкерским делам невысокая. Причин этому много: и отсутствие кадров как таковых, и компетентность кадров оставляет желать лучшего. Большая часть раскрываемых дела как раз из категории "без злого умысла",когда никто ни от кого особо не прячется, типа делается все "for fun". Иначе как еще зализать перед начальством и не лищиться погонов? Поэтому они злые и рвут и мечут, чтобы хоть кого-то вписать себе в "раскрытые дела". В общем в этой сфере дурачество-ребячество - группа риска.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху