![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
theworldcreator |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 362 Регистрация: 25.8.2007 Где: Москва Репутация: 10 Всего: 13 |
Я считаю свои приложения достаточно безопасными. Но задумался, нет ли чего нетривиального...
Насколько достаточно следующих моих действий, которые я совершаю всегда и уже на автомате: Любые данные пользователя следует проверять(разумеется, в числе них кукисы, хедеры, пришедшие от браузера, и тому подобные вещи, которые некоторые почему-то считают достоверными) Любые пользовательские данные(кроме числовых), которые участвуют в SQL запросах, обрабатываю следующей функцией(взята с http://ru2.php.net/mysql_real_escape_string и немножко доработана, так как в кавычки текстовые данные привык заключать сам, а числовые привык изначально приводить к типу int):
Уместно использую htmlspecialchars(), считая что это полностью защитит меня от XSS(не считая соц. инженерии, конечно, когда кто то убеждает пользователя например вбить что нибудь страшное в адресную строку) Так же некоторые, возможно бесполезные, но вошедшие в привычку, тонкости, как то например хранить конфигурационные файлы выше public папки. Пароли храню в MD5(в связи с развитием RainBow Tables смотрю в сторону хранения для каждой записи уникальной соли, дабы радужные таблицы пришлось генерировать для каждой строки, что грубо говоря невозможно, но пока не применял на деле). регистр глобалс офф, разумеется, хотя уже вошло в привычку изначально объявлять переменные как 0, если предполагается что изначально они false Вот, если что то, что я упустил? С уважением, Александр |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
а что насчёт с загрузкой файлов? какие-то обработки есть?
помнится была долго мусировавшаяся тема по XSS внедрённое в само изображение. его ведь htmlspecialchars не достанет или там какие-то уже встроенные механизмы рубки? сам не знаю, но интересно |
|||
|
||||
realPROme |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
насколько я понимаю, это имеет смысл, когда на сайте существуют, к примеру некие модули, для которых можно загружать данные... так в особо злостных случаях в картинку можно и php-код вставить, который потом на сервере будет исполняться))) а просто вставить в картинку какой-то код, что эта картинка, будучи загруженной (на нормально отконфигурированном сервере) смогла принести хоть какой-то вред, такого я не слышал... имхо, анриал))) |
|||
|
||||
theworldcreator |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 362 Регистрация: 25.8.2007 Где: Москва Репутация: 10 Всего: 13 |
bars80080, спасибо за наводку
Раньше не задумывался, сейчас почитал. Насколько я понял, во первых это работает только в IE. Во вторых полная защита достигается поиском ключевых слов для всех вариантов проведения xss. Не поверите, достаточно поискать следующие теги: html head body script javascipt(на случай чего нибудь такого src = "javascript:alert('XSS');") Так же придется подумать о кодировках, ведь если файл в какой то нетривиальной кодировке и IE об этом каким нибудь образом узнает, IE его прочитает как задумывалось хакером, а фильтр ошибочно. Но для этого достаточно фильтровать прямые указания кодировки: <meta http-equiv="Content-Type" content="text/html; charset="UTF-7"> (META в PNG есть всегда, исключать в принципе этот тег нельзя) К слову сказать эксплойт сработает только если открыть изображение, а не страницу его содержащую :) Так же говорилось о функциях PHP работы с изображениями(например растянуть, а потом сжать), вроде как это дает 100 % гарантию защиты, но не стоит слепо доверять этому, надо будет как нибудь потестировать. Слышал про PHP в картинке, но ИМХО на бред похоже, тут то просто IE все что видит считает HTML разметкой(а внутренности картинки текстом для пользователя), а применять eval() к изображению никто не собирается :) А есть ли еще какие нибудь известные уязвимости в остальных типах заливаемых файлов? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |