Сообщение в формате HTML - PullRequest
       14

Сообщение в формате HTML

0 голосов
/ 02 ноября 2009

Пользователь прислал мне некоторую информацию, которую он разместил на одной из моих страниц с потенциальными проблемами XSS, однако, глядя на код на стороне сервера, я не думаю, что он когда-нибудь пройдет через мой код гладко.

Они сказали, что послали это:

forminfo=%27+%7C%7C+%27%27+%7C%7C+%27%25booleantest%3Atrue%2Ctrue%2Ctrue

Я посмотрел на это и выяснил, что% 27 - это апострофия, а% 7C - персонаж трубы, который может быть рискованным.

Однако, если данные попадают в мое приложение в этом формате, они будут зависать, так как обрабатывают строковые данные. Он разбивает строку на двоеточие (:). forminfo - это имя одного из моих элементов ввода HTML

Если он пришел как

forminfo=' || '' || '%booleantest:true,true,true

тогда это более понятно, и я лучше вижу, что они отправили и как код будет обрабатывать ввод.

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

Они не получили ошибку, но если я сам запустил код, он ошибся.

Не могли бы вы объяснить, что могло произойти?

Ответы [ 2 ]

1 голос
/ 02 ноября 2009

Ниже URLEncoded data:

forminfo=%27+%7C%7C+%27%27+%7C%7C+%27%25booleantest%3Atrue%2Ctrue%2Ctrue

Если ваше приложение будет иметь проблемы с:

forminfo=' || '' || '%booleantest:true,true,true

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

1 голос
/ 02 ноября 2009

Шестнадцатеричный и base64 кодированный JavaScript может быть декодирован и отображен на вашей странице - если ваша страница передает данные формы (введенный JavaScript) обратно в браузер.

Чтобы лучше защитить свой сайт, вы можете заглянуть в XSS (межсайтовый скриптинг) шпаргалку или межсайтовый скриптинг (XSS)

...