我的网站已完全转换为使用 utf-8(mysql、http 标头、PHP mb_string 等)。
我正在做一些渗透测试并尝试将无效的 utf 发布到其中一个脚本(使用 BurpSuite)。
但是,当我发布无效的 utf,只是对 $_POST var 进行十六进制转储时,我发现在尝试使用 mb_detect_encoding 对其进行验证之前,已经对无效的 utf 序列进行了清理。
这对我来说听起来是个好消息,但我想知道哪个层正在转换 POST 数据?
它是 Content-Type HTTP 标头的副作用吗,也许我的网络服务器正在这样做(lighttpd)。或者是 PHP 本身在填充 $_POST 时这样做?
我希望看到无效的 utf 十六进制转储,让我自己清理它。