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

mssql и sql-inj Как защитить?!
  #1  
Старый 19.05.2008, 18:54
Аватар для EST a1ien
EST a1ien
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме:
1269624

Репутация: 114
Отправить сообщение для EST a1ien с помощью ICQ
По умолчанию mssql и sql-inj Как защитить?!

Наверно после прочтения заголовка у вас сложилось впечатление, что я тупой и не пользуюсь поиском. Но я скажу чесно искал НО есть одно но.
Обрабатывать переменные которые идут в запрос функцией addslashes() не катит.
Дело в том что даже если к MS SQL идет вот такой запрос.
Код:
SELECT * FROM some_table where name='test\''
Он всеравно жалуется на незакрытую кавычку.
 
Ответить с цитированием

  #2  
Старый 19.05.2008, 19:14
Аватар для -=lebed=-
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

почитай https://forum.antichat.ru/thread58597.html и всё станет ясно...
 
Ответить с цитированием

  #3  
Старый 19.05.2008, 19:23
Аватар для EST a1ien
EST a1ien
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме:
1269624

Репутация: 114
Отправить сообщение для EST a1ien с помощью ICQ
По умолчанию

Причем здесь magic_quotes_gpc.
Ты непонял вопроса.
Даже при Экранирование кавычки MS SQL выдает ошибку.
Могу даже показать что он пишет.

UPD

Код:
SELECT * FROM table WHERE account='test\''

Msg 105, Level 15, State 1, Line 1
Unclosed quotation mark after the character string 'test\''.
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'test\''.
Вот что сервер отвечает. и ему наплевать из PHP идет конект или напрямую через Server Manager.

Последний раз редактировалось EST a1ien; 19.05.2008 в 19:26..
 
Ответить с цитированием

  #4  
Старый 19.05.2008, 19:51
Аватар для -=lebed=-
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

А.. ты про MSSQL, глянь тут http://vingrad.ru/blogs/sabrog/2007/12/29/sql-injection-kak-to-vse-neodnoznachno/ тогда...
Цитата:
В общем двойной зачот.

Недавно правил один из своих сайтиков. Движок был заточен под MySQL и прекрасно с ним работал. Но этот проект пришлось поднимать на MSSQL. Долго извращаясь, у меня это все-таки получилось. Синтаксис неповторимый.

На днях поступила жалоба, что при попытке написать сообщение вываливается ошибка драйвера БД. При ближайшем рассмотрении выяснилось, что не экранируются кавычки. Смешно? Идем дальше. Экранирование кавычек у меня всегда было. А тут нет. Странно. Вспомнить почему именно так я не смог. Причина оказалась смешной. В модуле MSSQL для PHP нет функции аналогичной mysql_escape_string(). УЖОС.

Первое, что пришло на ум, использовать функцию mysql_escape_string(). Но не тут-то было. Проблема осталась, хотя экранирование работало. Помог опыт программирования на VB. Кавычка экранируется ее повторением. Т.е. чтобы кавычка попала внутрь строки, перед ней надо поставить не \, а просто повторить ее. Ржунимагу. Ну как так можно?

Отдельный зачот MS и разработчикам PHP.

Ссылка, которая меня сегодня еще немного порадовала http://nuclight.livejournal.com/107170.html.
http://gorinich.net/posts/4

Последний раз редактировалось -=lebed=-; 19.05.2008 в 19:53..
 
Ответить с цитированием

  #5  
Старый 19.05.2008, 20:31
Аватар для EST a1ien
EST a1ien
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме:
1269624

Репутация: 114
Отправить сообщение для EST a1ien с помощью ICQ
По умолчанию

Спасибо большое. В жизне не подумал бы о том чтобы экранировать кавычку надо перед ней поставить еще одну.
Просто зачет мелкомягким.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Социальная инженерия. Профессиональное программирование. Последовательный взлом dinar_007 Болталка 15 23.12.2008 12:30
Sql. Явные операции соединения. Как готовить и с чем есть. VDShark Авторские статьи 1 03.05.2008 05:34
Как стать хакером! foreva Болталка 19 12.12.2007 00:12
ipb sql injection - как юзать? SURRENDER Форумы 2 03.03.2005 11:45



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


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




ANTICHAT.XYZ