我的網站完全轉換爲使用utf-8,(mysql,http頭文件,PHP mb_string等)。什麼是從我的PHP網站過濾無效的utf8?
我做了一些滲透測試,並試圖將無效的utf POST到其中一個腳本(使用BurpSuite)。
但是,當我發佈無效的utf,只是十六進制轉儲$ _POST var時,我發現在我嘗試使用mb_detect_encoding驗證它之前,無效的utf序列已經過清理。
這對我來說聽起來像個好消息,但我想知道哪一層正在轉換POST數據?
它是Content-Type HTTP Header的一個副作用,也許我的web服務器正在做它(lighttpd)。或者它是PHP自己做的,當填充$ _POST?
我期望看到無效的utf hexdumped,讓我自己消毒。
有關更多信息,請參閱框架?你使用哪個PHP版本?我們可以看到你的代碼樣本等 –
我們可以看到你發佈的內容和你回來的東西嗎? – Brad
不,沒有框架。只需要vanilla PHP和來自burpsuite的原始HTTP請求,然後PHP腳本只需十六進制轉儲一個$ _POST [「formvalue」]。沒有預先處理$ _REQUEST/$ _ POST或在我的代碼中進行任何用戶輸入,然後進行十六進制轉儲 - 現在整理一個示例... – carpii