Пользователь отправил мне некоторую информацию, которую они отправили на одну из моих страниц с потенциальными проблемами 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
, то его более ясным, и я могу видеть лучше, что они послали и как код будет иметь дело с входом.
Этим они говорят, что они размещали данные в зашифрованном виде? Будет ли мое приложение знать, как бороться с зашифрованными опубликованными данными и каким-то образом их расшифровывать?
Они не получили ошибку, но если я запустил код сам, это ошибки.
Не могли бы вы объяснить, что могло случиться?
У него не было бы проблем с расшифровкой, но где происходит декодирование URL? – Jon
Это происходит автоматически как часть переменных Request Pipeline for QueryString. –