ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

19.09.2007, 19:17
|
|
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме: 3372120
Репутация:
2565
|
|
Сообщение от groundhog
Y.Dmitriy, не городи чепухи... Она экранирует только кавычки, слеши и нулевые байты... Если на хосте крутится более-менее продвинутая БД (MySQL 5.X, Oracle и т.д.), то обход экранирования кавычек элементарно организуется через CHAR(...,...,...) или шестнадцатиричное представление - 0x7573657273.
А я с вами не согласен, в полном объеме =\
Если к передаваемой в запрос SQL переменной применяется функция из класса экранирования кавычек, то как правило в самом запросе параметр из этой переменной обрамляется кавычками, например:
PHP код:
...
$res = mysql_query("SELECT * FROM 'news' WHERE 'id'='".$id."'");
...
в результате применение функции SQL - CHAR(...,...,...) или шестнадцатиричного представления для обхода экранирования кавычек, ничего не даст!
Пример сформированного запроса:
Код:
SELECT * FROM 'news' WHERE 'id'= 'CHAR(....)' или '0x.......'
надеюсь вы понимаете, что он не отработает, т.к. MySQL воспримет 'CHAR(....)' или '0x.......' как простые строковые данные, а не функцию.
При этом применение экранирования кавычек в случае, когда параметр (целочисленного типа) не обрамляется кавычками, не имеет смысла для защиты от SQL инъекции, а всего лишь усложняет использование конструкций load_file и into outfile.
|
|
|

20.09.2007, 10:06
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
[53x]Shadow, совершенно с вами согласен, коллега! Вот это нормальная дискуссия, не то что "...заебато экранирует..."! Насчёт нашей проблемы - вот, вы пишете:
...то как правило в самом запросе параметр из этой переменной обрамляется кавычками...
Это, конечно, оно так и есть! В мускле, например... Но, возможно, что программист забыл заключить данный параметр в кавычку (каждый третий ресурс в сети режет кавычки, но при этом не обрамляет кавычками само значение запроса), или, скажем, в Oracle недопустимо использовать для целочисленных полей выражение типа some_id='5', и вот именно в таких местах может пролезть злоумышленник со своим запросом... Поэтому все целочисленные параметры должны преобразовываться с помощью intval, а строковые с помощью регулярных выражений!
Благодарю за приятный разговор!
|
|
|

20.09.2007, 19:45
|
|
Leaders of The World
Регистрация: 06.07.2007
Сообщений: 246
Провел на форуме: 2030482
Репутация:
1796
|
|
Сообщение от ShAnKaR
Сообщение от I-I()/Ib
В этой статье будут описаны все функции неверное использование которых может привести к уязвимостям в ваших скриптах,
ай врунишка!
Ну помоги написать чтобы были все o_O
__________________
Кто я?..
Последний раз редактировалось I-I()/Ib; 20.09.2007 в 19:47..
|
|
|

20.09.2007, 20:04
|
|
Постоянный
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме: 4646474
Репутация:
1424
|
|
ну вот помогу и скрипты пойдут без багов =( а даже еще на самую вшивенькую яхту не накопил =\ так что вот так.
Последний раз редактировалось ShAnKaR; 20.09.2007 в 20:08..
|
|
|
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
#antichat. Логи, лолы.
|
Gh0s7 |
Болталка |
694 |
07.06.2010 20:01 |
|
Books PHP
|
FRAGNATIC |
PHP |
186 |
21.02.2010 02:41 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|