>[info]MHTML XSS攻擊漏洞
大致意思就是用戶在URL參數中構造了特殊結構,導致可以在頁面上執行一些JS腳本,甚至在服務端執行一些危險腳本,或構造SQL注射。
解決方案: 將url參數值中的%0d、%0a、%0D、%0A 刪除。嚴格限制URL參數輸入值的格式,不能包含不必要的特殊字符(0d、%0a等)。如確實需要換行,將其轉換 為輸出。
在當前使用的PHP開發框架中具體的解決方案包括:
(1)、application\Config.php中配置全局參數過濾器
~~~
'default_filter' => 'trim,strip_tags,htmlspecialchars',
~~~
(2)、在接受參數輸入時對應的做必要的、合理的驗證和處理,比如urldecode后對應轉換格式和驗證
~~~
$id =$this->request->param('id',0,'intval');
if(!$id || $id<0){
$this->error('無效的參數值(id)!');
}
~~~
(3)、執行SQL時盡量使用mysql_pdo驅動的預處理模式,且使用mysql_real_escape_string處理,Tp5中防SQL注射這塊已經做的比較全面。