SQL иньекции

Печать RSS
425


Голубые штаны
0
17. mr.Z, htmlspecialchars() — конвертирует только специальные символы (’&’, ‘”‘, ”’, ‘<’ и ‘>’) в HTML сущности (’&amp;’, ‘"’…).

Я считаю, что для удаления возможности быть атакованым xss методом одного htmlspecialchars() не достаточно, так как помимо выполнения HTML-кода, всегда есть возможность испытать скрипт на:
- XSS-нападение с использованием UTF-7 кодировки.
- XSS-нападение с помощью метода TRACE. - экзотика, да? зато работает
- XSS нападение через data
- XSS-нападение через Flash-анимаци. - ActionScript.
- XSS-DOM
- использование ошибок и критических уязаимостей в ПО для проведения XSS.

Добавлено через 02:25 сек.
К тому же если я не ошибаюсь, htmlspecialchars() не фильтрует знак процента "%" что позволяет выполнить команду, зашифрованую в URL сущность. Типа, %20UNION%20SELECT%20*%20FROM..

Голубые штаны
0
Хорошая статья о фильтрации http://www.codeharmony.ru/materials/17
D

Малиновые штаны
0
22. LondoN_tm, прикольно)
Z

Клуракан
0
21. LondoN_tm, спасибо, возьму на заметку smile
Z

Клуракан
0
Погуглил на счет "XSS-нападение с использованием UTF-7 кодировки" - если кодировка в заголовках явно указана и она не является UTF-7 то этой атаки можно не боятся smile
уже завтра об остальном погуглю)

Добавлено через 01:59 сек.
Под конец описания данного метода опишем основные его неудобства:
1. Работает только с браузером Internet Explorer
2. Код должен находится до тегов определяющих кодировку
3. Перед кодом не должно быть никакого текста, содержащего символы из других кодировок, так как опознавание
кодировки будет происходить именно по этому тексту (а следовательно – не правильно).
Z

Клуракан
0
- XSS нападение через data
тоже в принципе не столь опасно
Использование подобного кода может пригодится на сайтах где пользователи могут публиковать различные ссылки,
которые не проверяются на наличие "http://" в начале строки. Основное неудобство этого метода в том что атака с его
помощью пройдёт только при непосредственном вмешательстве пользователя. То есть пользователь должен либо сам
кликнуть на подобную ссылку, либо ввести её в браузер, находясь на нужной странице. Если, например, JS-код можно
использовать при отсутствии фильтрации адреса изображения:
<img src="javascript:alert(12345);">
и этот код нормально обработается при простом открытии странички, то код транспортируемый с помощью протокола
DATA пользователь должен обязательно вызвать сам.

Граф Озриор
0
вот классик для защиты от sql inj, не идеал, но все же что то...
http://maxmessage.ru/r/3784

2000 лет д.н.э.
0
27. Queso, ужас
ресурсы не бережем
проверяем и фильтруем все подряд
a=1&b=2&c=3&d=4&e=6&f=7&g=8 и так пока твой цикл (цикл в цикле О_о) не захлебнется на explode
не классика совсем, классика фильтровать только необходимое, только один раз, и только соответствующим типу данных способом, цифры и строки не одно и то же

Граф Озриор
0
28. ramzes, я же написал что код не идеал, причем я eго немного переписал. Этот код я нашел в игре Delefa.
Изменил: XoPyC (08.01.2011 / 00:00)

2000 лет д.н.э.
0
откажись от него, фильтровать надо там где используешь данные, т е перед запросом к бд
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск