PHP — примеры защиты форм

Есть ли список примеров атак, которые можно использовать для тестирования формы PHP?

В частности, это для форума, который использует парсер для разбора bbcode и не принимает HTML напрямую.

На данный момент он работает через функцию codeigniters xss_clean, а также через htmlspecialchars.

Если он делает что-то другое, он запускает htmlspecialchars_decode() при возврате данных во ввод или текстовую область для редактирования, но не при обычном отображении.

Есть некоторые области, которые я не совсем понимаю (никогда не пытался взломать веб-сайт), например, кто-то публикует изображение, которое выполняется через скрипт, или добавляет к изображению дополнительные строки javascript. Поэтому я в основном ищу примеры, которые я могу поместить в свою форму, чтобы проверить, справляется ли она с этим.

Я должен отметить, что я избегал использования strip_tags, так как это приводит к путанице в различных случаях, таких как:

Если я наберу X ‹ Y, он удалит все после X


person John Mellor    schedule 29.12.2011    source источник


Ответы (2)


Я не могу принять это как ответ, так как это был комментарий, но @ComFreek дал действительно полезную ссылку, просто поместите ее в свои формы, чтобы проверить наличие ошибок.

Многие из них можно найти только в старых браузерах, особенно в старых версиях IE.

ha.ckers.org/xss.html

person John Mellor    schedule 30.12.2011

Я бы рекомендовал использовать функцию CodeIgniter html_escape вместо htmlspecialchars. Вы можете не только вернуться и повысить безопасность всех своих выходных данных из одного централизованного места, поскольку это функция, но и дезинфицировать массивы.

Также проверьте это. Ссылка рабочая, сервер временно не работает. Вот "короткая" версия.

person Seralize    schedule 29.12.2011
comment
Интересно сказать, используйте его на выходе, что потребует гораздо больше ресурсов сервера, поскольку он будет запускаться бог знает сколько раз при тысячах загрузок страниц. Представьте себе страницу темы, на которой перечислены 30 комментариев, каждый с текстом комментария, подписями и 5-10 фрагментами информации профиля на боковой панели для каждого пользователя. Это может потребовать запуска xss_clean 200-300 раз при загрузке одной страницы по сравнению с тем, когда данные впервые сохраняются в базе данных. - person John Mellor; 29.12.2011
comment
Нажмите Enter, забыв, что он будет отправлен ... Что касается ссылок, шпаргалка полезна, но не совсем то, что я ищу. Я уже пытался обеспечить различные основы безопасности, теперь я ищу атаки, которые я могу скопировать и вставить в свои формы, чтобы протестировать их :) Но я посмотрю на html_escape. Я использую CI так долго, что забыл некоторые функций, которыми он обладает :D - person John Mellor; 29.12.2011
comment
Просто еще один комментарий, html_escape выглядит хорошо. Я был разочарован использованием set_rule, которое не позволяло мне устанавливать кодировку, а это означало, что мне приходилось запускать htmlspecialchars вне его, но html_escape автоматически использует кодировку, установленную в моей конфигурации, так что это идеально - person John Mellor; 29.12.2011