Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   Защита от инъекций (https://forum.antichat.xyz/showthread.php?t=439066)

user6334 25.03.2016 19:06

Объясните такому нубу как я: для чего придумали всякие там WAF, когда от скули можно защититься очень даже просто: если параметр цифровой, проверять как int, если строчный, то фильтровать кавычки. Ведь пока не закроешь в начале кавычку, какой смысл писать запрос

t0ma5 25.03.2016 19:14

Цитата:

Сообщение от user6334
user6334 said:

Объясните такому нубу как я: для чего придумали всякие там WAF, когда от скули можно защититься очень даже просто: если параметр цифровой, проверять как int, если строчный, то фильтровать кавычки. Ведь пока не закроешь в начале кавычку, какой смысл писать запрос

фильтровать кавычки, а если тебе нужно чтобы в запросе можно было использовать кавычку)? например это поиск по контенту на сайте или по сообщениям пользователей, или по их никам

user6334 25.03.2016 19:48

Цитата:

Сообщение от t0ma5
t0ma5 said:

фильтровать кавычки, а если тебе нужно чтобы в запросе можно было использовать кавычку)? например это поиск по контенту на сайте или по сообщениям пользователей, или по их никам

Значит тогда я буду заменять кавычку на литерал и в таком виде хранить в Бд, при воспроизводстве на сайте литерал будет отражаться как кавычка

t0ma5 25.03.2016 20:38

Цитата:

Сообщение от user6334
user6334 said:

Значит тогда я буду заменять кавычку на литерал и в таком виде хранить в Бд, при воспроизводстве на сайте литерал будет отражаться как кавычка

норм тогда я хз зачем waf)))

все проблемы от того что люди всё усложняют

возможно излишняя кастомизация и костылизация породила когда то waf

DarkCaT 25.03.2016 20:42

Ммм а можно пример с такой защитой, которую описали, хотелось бы покрутить) Ну и да waf не только от скуль защищает)

t0ma5 25.03.2016 20:43

хотя сейчас подумал, допустим заменили кавычку на литерал там или на что удобно

а в дальнейшем энное количество кода работает с этими данные, тогда везде нужно учитывать что данные заменены

то есть была например регулярка /[a-b']+/ как пример для поиска ника( допустим в нике можно использовать ' ) и тут внезапно она не сработает, а кода такого может быть много

по сути опять порождение костылей

private_static 25.03.2016 21:06

Цитата:

Сообщение от user6334
user6334 said:

Объясните такому нубу как я: для чего придумали всякие там WAF, когда от скули можно защититься очень даже просто: если параметр цифровой, проверять как int, если строчный, то фильтровать кавычки. Ведь пока не закроешь в начале кавычку, какой смысл писать запрос

waf как и фильтрация не панацея от дыр, они были есть и будут

а waf ставят лишь для усложнения эксплуатации этих самых дыр

BabaDook 25.03.2016 21:36

Я не знаю код, однако если код написан верно то и waf не нужен.Ну ,как-то так, разве что от ДДос, но это сов7 другая история

user6334 25.03.2016 21:39

Вообщем со всеми вами я соглашусь. Могу пока расширить некоторые доводы. Итак, выходит что да, если мы ставим костыль в одном месте, то эти костыли должны быть понапиханы везде. То бишь поставил 99 костылей, а про 1 забыл - всё, получи инъекцию. Далее, сайт постоянно дорабатывается, меняется, уследить за костылями сложно. В итоге, человеческий фактор как всегда. Что проще, нанять 10 тестировщиков или поставить WAF? Думаю, понятно

user6334 25.03.2016 21:58

Цитата:

Сообщение от DarkCaT
DarkCaT said:

Ммм а можно пример с такой защитой, которую описали, хотелось бы покрутить) Ну и да waf не только от скуль защищает)

Какой тебе пример? Там нет инъекции. Кстати, вот ещё что могу сказать, читал у одного разраба, дескать сейчас уже так не делают сайты, как раньше, и переменные данные берутся не только из параметров. Эта сфера индустрии сейчас настолько усложнилась, что фильтровать все данные как параметры нереально. Объясню проще. Петя пишет: ha. Вася пишет: r( Маша пишет 77 Рита улыбается. Потом при каком то супер выборочном поиске, воссоединяется все в некий результат, и отправляется на выборку данных по этому признаку.... Where custom = char(77). Нихрена себе, откуда буква M???))) Ну, это весьма маловероятно, скорее всего выскочит ошибка синтаксиса. Программист снимет костыль, чтобы её убрать потому что сформировалась она динамически. Т.е. В современных приложениях тенденция может идти к тому, что данные комбинируются динамически, и параметры в частности. Т.е.принимая параметр от пользователя сегодня мы не знаем, как он будет использован завтра


Время: 20:28