|
|
|
| Достаточно ли использовать htmlspecialchars для удаления возможности быть атакованым xss методом. Функция не кодируют символ %, это каким то образом может повлиять на безопасность? | |
|
|
|
|
|
|
|
для: Саша
(17.05.2007 в 19:54)
| | Вполне достаточно.
Сам посебе процент никакой опасности не представляет.
тег из него не слепить.
Но надо очень жестко фильтровать тот контент, что попадает в раздел <head>
Туда нельзя класть символы + | |
|
|
|
|
|
|
|
для: Trianon
(17.05.2007 в 20:17)
| | Спасибо Trianon, я тоже так думаю. Просто мне ткнули носом, что вот функция не кодирует символ %.
Вопрос к mefestofel, Вы знаете как можно использовать % в зловредных целях? Нет времени поискать ( | |
|
|
|
|
|
|
|
для: Саша
(17.05.2007 в 20:24)
| | думаю если кто то пересылает ?ID=2 для запроса в базу, скажем для какой то категории, то подстроив % - можно получить сразу весь список того что есть ... разумеется если в базе тупо стоит LIKE 'ID' | |
|
|
|
|
|
|
|
для: ANGO
(17.05.2007 в 20:29)
| | >думаю если кто то пересылает ?ID=2 для запроса в базу, скажем для какой то категории, то подстроив % - можно получить сразу весь список того что есть ... разумеется если в базе тупо стоит LIKE 'ID'
Вы знаете , в запросе помимо LIKE 'ID' можно написать такой бред, что никакие проверки не спасут. TRUNCATE TABLE например. Это повод запрещать буквы? | |
|
|
|
|
|
|
|
для: Саша
(17.05.2007 в 20:24)
| | да можно в SQL Injection, например... с % как правило начинаются ASCII символы
Еще надо подумать о символе + в url | |
|
|
|
|
|
|
|
для: mefestofel
(17.05.2007 в 20:38)
| | да, в этом методе можно использовать,
спасибо! | |
|
|
|
|
|
|
|
для: mefestofel
(17.05.2007 в 20:38)
| | в SQL никакие символы с процента не начинаются. Ну кроме самого процента конечно.
какое отношение SQL_injection имеет к htmlspecialchars?
Поймите же вы все наконец! Не бывает плохих символов! Бывают плохие намерения и кривой код скрипта! . | |
|
|
|
|
|
|
|
для: Trianon
(17.05.2007 в 20:55)
| | в SQL ничего не начинается, а вот инъекции начинаются! Примеры привести? | |
|
|
|
|
|
|
|
для: mefestofel
(18.05.2007 в 00:38)
| | Вообще-то тема о XSS была. Каким тут боком SQL Injection? А почему бы о PHP Injection не поговорить, м? | |
|
|
|
|
|
|
|
для: Unkind
(18.05.2007 в 00:50)
| | Тоже не плохо ...
можно подумать, и на основе рус-латин транслита написать прикольный словарик, типа
сволочь - редиска
и т.д.
...
)) | |
|
|
|
|
|
|
|
для: ANGO
(18.05.2007 в 01:19)
| | ё моё, каждый о своём... | |
|
|
|
|
|
|
|
для: Unkind
(18.05.2007 в 00:50)
| | > Вопрос к mefestofel, Вы знаете как можно использовать % в зловредных целях? Нет времени поискать (
этот вопрос был мне адресован!, вроде в третьем ответе....
% использовать можно и если хотите даже нужно, когда я писал это, я имел в виду, что в одной из версий MySQL(не буду писать в какой, а то кто-нибудь сразу побежит испытывать) можно сделать инъекцю в которой помимо %20UNION%20SELECT%20*%20FROM... будет содержаться подборка из определенных ASCII символов и еще всякой ерунды, некорректно обрабатываемой(опять же не пишу какой)...
и тогда... сами понимаете...
Это могу подтвердить на собственном опыте - сам тестировал.
Я имел в виду что хорошо бы и эту последовательность ловить, тем более когда пишешь коммеррческую версию CMS, ты ведь не знаешь где и у кого она будет стоять? Что за версия БД будет установлена на сервере. А потом когда какой-нибудь юный натуралист поизголяется над Вашей CMS, не очень будет приятно и для Вас и для заказчика.
В общем тема закрыта. | |
|
|
|
|
|
|
|
для: mefestofel
(18.05.2007 в 01:21)
| | Вы, кажется, не знаете основ протокола HTTP. Иначе про процент как про черта не говорили бы. | |
|
|
|
|
|
|
|
для: Unkind
(18.05.2007 в 09:42)
| | > Вы, кажется, не знаете основ протокола HTTP
Unkind, дайте мне адрес какого-нибудь Вашего проекта, и я сломаю его самым экзотическим образом, продемонстрировав знание протокола HTTP и не только. ;-)
ВЫ НЕ ПОНИМАЕТЕ МЕНЯ. ПОМОЕМУ Я ГОВОРЮ В ПУСТОТУ! | |
|
|
|
|
|
|
|
для: mefestofel
(18.05.2007 в 12:04)
| | Что же вы такой нервный? Уже не первый раз проявляете агрессию. Лечитесь. | |
|
|
|
|
|
|
|
для: mefestofel
(18.05.2007 в 01:21)
| | Символ процента "опасен" вовсе не этим. Фактически, это символ эскейпинга в кодировании application/x-www-urlencoded, применяемый при оформлении URI. И только пройдя через URI и попадя в mysql_query незащищенной, Ваша строка могла бы стать опасной.
Да, параметры тегов вроде src и href нужно формировать аккуратно. Но это проблема слегка другого аспекта безопасности. Не связанного с выводом символов в потоке текста.. | |
|
|
|
|
|
|
|
для: mefestofel
(18.05.2007 в 01:21)
| | На мой взгляд, тему закрывать пока рано.
Я вот про символ плюс сказал, надеясь что хоть кто-нибудь клюнет и опровергнет. Неужели всем пофиг, почему? | |
|
|
|
|
|
|
|
для: Trianon
(18.05.2007 в 10:31)
| | >На мой взгляд, тему закрывать пока рано.
>Я вот про символ плюс сказал, надеясь что хоть кто-нибудь клюнет и опровергнет. Неужели всем пофиг, почему?
Кстати да ), а пример как это можно использовать, я на это обратил внимание, но запарился и забыл спросить | |
|
|
|
|
|
|
|
для: Саша
(18.05.2007 в 10:43)
| | На "как это использовать" я точно не отвечу.
Но подсказку для понимания дам. html Charset&Encoding autodetection и RFC-2152 | |
|
|
|
|
|
|
|
для: Trianon
(18.05.2007 в 10:50)
| | А как он из урла может попасть в head? Ну не считая варианта, если я сам задам такую логику. | |
|
|
|
|
|
|
|
для: Саша
(18.05.2007 в 10:54)
| | Абсолютно элементарно: посмотрите на заголовок темы и на заголовок окна... | |
|
|
|
|
|
|
|
для: Саша
(18.05.2007 в 10:54)
| | а при чем здесь URL? | |
|
|
|
|
|
|
|
для: Trianon
(18.05.2007 в 11:18)
| | каким образом можно загнать + ? | |
|
|
|
|
|
|
|
для: Саша
(18.05.2007 в 11:40)
| | Читайте RFC
http://www.faqs.org/rfcs/ | |
|
|
|
|
|
|
|
для: Trianon
(18.05.2007 в 10:31)
| | Потому что там нужно определенное стечение факторов: Броузер IE, автоопределение кодировки и 7 битная кодировка в заголовках сервера. В русскоязычном сегменте инета, как мне кажется, это редкость. | |
|
|
|
|
|
|
|
для: Loki
(18.05.2007 в 11:05)
| | 1. про аспект семибитной кодировки в заголовках сервера можно поподробнее? Впервые слышу.
2 Достаточно ли директивы AddDefaultCharset в .htaccess дабы отбить у IE тягу к автоопределению? | |
|
|
|
|
|
|
|
для: Trianon
(18.05.2007 в 11:19)
| | http://www.geocities.com/g_naumovets/cyrmnl-k.htm вот сдесь я нашел про 7-битную кодировку | |
|
|
|
|
|
|
|
для: Trianon
(18.05.2007 в 11:19)
| | Наверняка не знаю. Просто когда я пытался использовать пример подобной атаки на своем сервере, ничего у меня не вышло - ie использовать 7 битную кодировку ни в какую не хотел. Вот я и решил что дело в заголовках сервера, так как больше в броузер ничего не передавалось. | |
|
|
|
|
|
|
|
для: Loki
(18.05.2007 в 11:05)
| | т. е. если <title>Достаточно ли использовать htmlspecialchars чтобы исключить xss-атаку</title>
вставить +, то это как то может навредить? А как? | |
|
|
|
|
|
|
|
для: Loki
(18.05.2007 в 11:05)
| | UTF-7 - RFC2152
Вот Вам код в UTF-7 кодировке:
+ADwA-script+AD4A-alert('XSSEnabled+ACEA-')+ADwA-/script+AD4A-
Посмотрите на заголовок страницы и сравните с названием темы, если ввести эту гадость в строке url, то Вы либо ничего не получите, либо получите набор иероглифов(код исходной строки).
Но необходимо еще условие: это определение кодировки после отображения титула, если кодировка не определена то браузеры подбирают ее автоматически.
. Такое можно периодически встретить на некоторых форумах интернета, например YaBB(скачайте его себе и пытайте на здоровье), если в поле 'тема' вставить подобный код, то при определенном стечении обстоятельств можно многое получить...
>В русскоязычном сегменте инета, как мне кажется, это редкость.
Не согласен
Браузер Mozilla для этих целей не подходит. | |
|
|
|
|
|
|
|
для: Саша
(17.05.2007 в 19:54)
| | > Достаточно ли использовать htmlspecialchars для удаления возможности быть атакованым xss методом.
НЕТ НЕ ДОСТАТОЧНО
"ВАШ XSS-МЕТОД":
- XSS-нападение с использованием UTF-7 кодировки.
- XSS-нападение с помощью метода TRACE. - экзотика, да? зато работает
- XSS нападение через data
- XSS-нападение через Flash-анимаци. - ActionScript.
- XSS-DOM
- использование ошибок и критических уязаимостей в ПО для проведения XSS.
- .........
и т.д.
Достаточно только для:
- XSS-нападения с помощью вставки HTML-кода | |
|
|
|
|
|
|
|
для: mefestofel
(18.05.2007 в 13:56)
| | Хотелось бы уточнить... с помощью HTML или JavaScript кода? | |
|
|
|
|
|
|
|
для: mefestofel
(18.05.2007 в 13:56)
| | Между прочим, мы тут вроде как на форуме php....
Дайте, пожалуйста, определение XSS-атаки.
А то странно как-то получается. Вроде о чем-то говорим, а о чем - не ведаем. | |
|
|
|
|
|
|
|
для: Trianon
(18.05.2007 в 14:36)
| | Между прочим, мы тут вроде как на форуме php
Алягер ком алягер... некоторым индивидумам пользующим такого рода атаки, глубоко по-барабану на каком форуме это обсуждается... поэтому тему надо раскрыть как можно полнее. | |
|
|
|
|
|
|
|
для: Valick
(18.05.2007 в 15:35)
| | >Между прочим, мы тут вроде как на форуме php
>
>Алягер ком алягер... некоторым индивидумам пользующим такого рода атаки, глубоко по-барабану на каком форуме это обсуждается...
>поэтому тему надо раскрыть как можно полнее.
А вот тут я соглашусь со вторым - вытертым - постом. одной темой всего не раскроешь.
Вреда от такой мешанины будет явно больше чем пользы. | |
|
|
|
|
|
|
|
для: mefestofel
(18.05.2007 в 13:56)
| | А как предотвратить эти?
- XSS-нападение с использованием UTF-7 кодировки.
- XSS-нападение с помощью метода TRACE. - экзотика, да? зато работает
- XSS нападение через data
Можно ссылку где это описано? | |
|
|
|
|
|
|
|
для: Саша
(18.05.2007 в 14:50)
| | Если хотите поговорить об XSS, открывайте отдельную тему в форуме "Разное."
Чтобы не мешеть все подряд, думаю так будет лучше. ;-) | |
|
|
|