2009-11-02 3 views
0

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

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

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

Я смотрел на это и работали, что% 27 является Apostrophy и% 7C является Pipe характер, который может быть рискованным.

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

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

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

, то его более ясным, и я могу видеть лучше, что они послали и как код будет иметь дело с входом.

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

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

Не могли бы вы объяснить, что могло случиться?

ответ

1

Ниже приводится URLEncoded данные:

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

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

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

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

+0

У него не было бы проблем с расшифровкой, но где происходит декодирование URL? – Jon

+0

Это происходит автоматически как часть переменных Request Pipeline for QueryString. –

1

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

Чтобы лучше защитить свой сайт, вы можете посмотреть в XSS (Cross Site Scripting) Cheat Sheet или Cross-site Scripting (XSS)