簡體   English   中英

從SQL注入保護靜態SQL查詢

[英]Securing a static SQL query from SQL Injection

我有一個應用程序,它讀取包含數據庫參數和靜態SQL語句的數千個平面文件。 在我的Java代碼中,我采用SQL語句並執行它。 由於可能的SQL注入漏洞,Fortify不接受此操作。 例如,我的平面文件如下所示:

query: SELECT USER_ID FROM SOME_TABLE WHERE ID='2'

我接受query並執行它。

我的問題是如何使這樣的靜態SQL安全? 有沒有辦法將這些SQL轉換為PreparedStatements?

如果您不更改基於用戶輸入從文件中讀取的SQL語句,則不會進行SQL注入。

另一方面,如果您不能嚴格控制此文件的最終內容(誰可以對其進行編輯?),那么整個程序就是一個龐大的SQL注入程序。

即使沒有綁定參數,也可以通過使用PreparedStatement使代碼檢查工具滿意。 當然,這不會以任何方式提高安全性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM