Пользователь прислал мне некоторую информацию, которую он разместил на одной из моих страниц с потенциальными проблемами XSS, однако, глядя на код на стороне сервера, я не думаю, что он когда-нибудь пройдет через мой код гладко.
Они сказали, что послали это:
forminfo=%27+%7C%7C+%27%27+%7C%7C+%27%25booleantest%3Atrue%2Ctrue%2Ctrue
Я посмотрел на это и выяснил, что% 27 - это апострофия, а% 7C - персонаж трубы, который может быть рискованным.
Однако, если данные попадают в мое приложение в этом формате, они будут зависать, так как обрабатывают строковые данные. Он разбивает строку на двоеточие (:). forminfo - это имя одного из моих элементов ввода HTML
Если он пришел как
forminfo=' || '' || '%booleantest:true,true,true
тогда это более понятно, и я лучше вижу, что они отправили и как код будет обрабатывать ввод.
Поэтому они говорят, что они размещали данные в зашифрованном виде? Будет ли мое приложение знать, как обращаться с зашифрованными опубликованными данными и каким-то образом расшифровать их?
Они не получили ошибку, но если я сам запустил код, он ошибся.
Не могли бы вы объяснить, что могло произойти?