用戶向我發送了一些信息,他們發佈到我的網頁中有潛在的XSS問題之一,然而,看着服務器端代碼,我認爲它不會順利地通過我的代碼。HTML編碼形式發佈
他們說,他們發回:
forminfo=%27+%7C%7C+%27%27+%7C%7C+%27%25booleantest%3Atrue%2Ctrue%2Ctrue
我已經看過這一點,並摸索出27%是Apostrophy和%7C是這可能是危險的一個管道字符。
但是,如果數據以該格式進入我的應用程序,它將崩潰,因爲它對發佈的信息進行了字符串處理。它對冒號(:)字符進行字符串分割。 forminfo是我的HTML輸入元素
之一的名稱。如果它來作爲
forminfo=' || '' || '%booleantest:true,true,true
那麼它的更加清晰,我可以看到更好的東西,他們發送的代碼將如何處理輸入。
因此,他們是否說他們以加密方式發佈數據?我的應用程序是否知道如何處理加密的發佈數據並以某種方式解密?
他們沒有得到一個錯誤,但如果我自己運行代碼它錯誤。
你能解釋可能發生了什麼嗎?
它解碼不會有問題,但url解碼發生在哪裏? – Jon 2009-11-02 20:01:19
它作爲QueryString變量的請求管道的一部分自動發生。 – 2009-11-02 20:12:11