фильтровать метасимволы из пользовательского ввода в xss атак - PullRequest
0 голосов
/ 09 февраля 2011

на моем сайте на странице входа администратора, если я сделаю что-то подобное

http://www.domain.com/admin/index.php/%22onclick=document.location="http://www.google.com">

и щелкните где-нибудь, что страница фактически перенаправляет. Я где-то читал, что мне нужно отфильтровать метасимволы. но после нескольких часов поисков я не могу понять, как я могу это остановить. вышеизложенное из того, что я вижу, не делает get или post. как я могу заблокировать что-то подобное?

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

Нет, не делайте никакой фильтрации / массажа символов. Что вам нужно сделать, так это трактовать ВСЕ пользовательские данные, независимо от того, как они были отправлены вам, как злой вирус и обрабатывать их как таковые.

Как создается эта ссылка? Это то, что вы написали или что-то, что другой пользователь поместил в какую-то CMS?

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

0 голосов
/ 09 февраля 2011

Я согласен с остальными, что в вашем скрипте что-то серьезно не так, если он выполняет произвольный JavaScript, переданный в QUERY_STRING, или любой другой параметр в этом отношении.что нужно сделать, это написать функцию scrubInput (), которая заменяет% &;<и> до их соответствующие коды метасимволов .Это включает не все векторы атаки на вещи, которые хранятся в базе данных, но;позаботится о многих из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...