簡體   English   中英

使用 JTOpen 連接到 AS/400 時存在 SQL 注入風險

[英]Risk of SQL injection when connection to AS/400 using JTOpen

我們正在使用 JTOpen 連接到我們的 AS/400 機器,我正在嘗試解決在使用這種類型的集成時存在 SQL 注入漏洞的風險。

請注意,我們僅使用 API 的調用程序部分 - 而不是 jdbc 連接。

我不是 RPG 程序員,也不知道將 SQL 注入代碼的風險如何,也不知道 JTOpen API 是否可以阻止此類攻擊。

我在谷歌搜索后發現,當 RPGLE 程序不使用存儲過程時,可以對它們進行 SQL 注入。 所以我的問題是:這是否也可以通過 JTOpen api 來完成。

我們是否需要以編程方式檢查對 JTOpen API 的所有調用中的 SQL 注入?

如果您沒有使用 JDBC,那么您需要檢查 SQL 注入的唯一原因是您是否在使用 JT400 的主機上調用的程序中使用動態 SQL。

如果主機上運行的程序不使用動態 SQL,則根本沒有風險。

我不是 Java 大師,所以我將在這里只使用偽代碼。

根據我的理解,您可以使用動態 SQL,但不要將 where 語句連接在一起。

所以string = "select * from table where key = " + id是完全錯誤的。 但是,您可以執行類似於

string = "select * from table where key = @id";
build connection
add parameter to assign value to @id
execute command

更好的選擇是使用存儲過程。

暫無
暫無

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

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