報表檢測出 sql 植入風險怎麼解決

Select … from T where ${w}

正常使用下 w 可以 “status=1”、“1=1”等靈活的條件,但同時存在很大的安全隱患。

比如 w 爲“1=0 UNION select … from user”時,user 表數據就完全泄露了。

解決這個問題大概兩種方式:

1、 寫成很牛 X 的 sql,考慮到最壞情況下,攻擊者依然無法攻擊。

2、 對參數值過濾,判斷有風險的處理掉,甚至直接不讓報表繼續執行。

第 1 種方式太難了,並且也會把 sql 搞的特別複雜,在報表工具的 sql 植入風險中有詳細的過程介紹。

第 2 種就相對好掌握,報表工具一般也會提供防止 sql 植入的方案,報表的 SQL 植入風險及規避方法中講解了通過配置敏感詞檢查功能,當遇到非法關鍵字的時候,報表終止執行以保安全。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章