經得起原始碼資安弱點掃描的程式設計習慣培養(四)_2.Injection注入攻擊_SQL Injection_In語句正確參數化套入

 接續前幾篇系列










之前已經有修正過SQL Injection的經驗了是在針對order by情境
而這次遇到舊專案是在於In 一些參數的動態組字串的問題引發白箱弱掃


雖然前人已經有改用參數化方式但仍然會引發Injection風險


首先前人寫一段回傳DataSet給外面資料DataBind的dal函數

在外部呼叫時候
他傳入參數的準備處理比較容易有風險
用字串橫線分割
但傳入到function仍需要轉回成陣列或集合的型別


也會有多此一舉
所以其實在function設計上傳入參數一開始就指定傳入類似List之類的集合型別就好了


再針對In裡面要傳進的參數先prepare好一個condition string



如此可降低一些被弱掃認為是有風險的寫法
少點動態組字串問題






留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題