ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Обход проверки на SQL-inj
  #1  
Старый 16.11.2006, 18:18
Аватар для FurA
FurA
Новичок
Регистрация: 01.08.2005
Сообщений: 25
Провел на форуме:
48628

Репутация: 17
По умолчанию Обход проверки на SQL-inj

Доброго времени суток, опять я и опять с вопросом о SQL-inj.

Есть функция, которая проверяет входящую переменную на banwords. Очень хочется обойти эту проверку. В примудростях MSSQLа я не разбираюсь, поэтому прошу помощи.
Код:
function antiinjection($str) {
	$banwords = array ("'", ",", ";", "--");
	if ( eregi ( "[a-zA-Z0-9]+", $str ) ) {
		$str = str_replace ( $banwords, '', strtolower ( $str ) );
	} else {
		$str = NULL;
	}
	return $str;
}
Заранее спасибо

ПиСи
Еще раз повторюсь - платформа MSSQL
 
Ответить с цитированием

  #2  
Старый 16.11.2006, 18:21
Аватар для _Great_
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

жестко они пробиться вроде никак низя..
хотя странно они сделали - нафиг одновременно и регулярка на буквы-цифры и еще вырезание спецсимволов, которые никогда не попадут под эту регулярку
 
Ответить с цитированием

  #3  
Старый 18.11.2006, 17:33
Аватар для Alexkz
Alexkz
Новичок
Регистрация: 23.09.2006
Сообщений: 19
Провел на форуме:
142370

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

_Great_, в принципе да, лишнего много, но, видишь,они не сделали эти две фильтрации параллельно, а сделали зависимыми!
Т.е. если переменная $str содержит НЕ только латинские буквы обоих регистров и цифры
if ( eregi ( "[a-zA-Z0-9]+", $str ) )
тогла происходит фильтрация на спец символы!
Хотя я вообще не пойму зачем такая фильтрация...
Я считаю переменные нужно фильтровать
htmlspecialchars() и addslashes()
В мускуле
htmlspecialchars() и если идет запись в базу mysql_escape_string()
Если целлочисленное значение(например id и прочее), тогда только intval() !
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение Sql инъекций в Oracle, часть первая k00p3r Чужие Статьи 1 12.07.2005 08:51
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
Внедрение Sql кода с завязанными глазами k00p3r Чужие Статьи 0 12.06.2005 20:48
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ