2
我對SQL注入一些代碼,類似這樣的關注與春天的JdbcTemplate:JdbcTemplate的動態表名和SQL注入
jdbcTemplate.query("SELECT * FROM " + tableName, new TableMapper());
的「表名」變量由串聯添加,因爲它是不可能通過它作爲JdbcTemplate的一個參數。
「tableName」變量只能由管理員編輯,但我想知道在技術上是否可以對此查詢執行SQL注入攻擊。
否則你能描述一個安全的方法來做到這一點嗎?
你執行任何種類'tableName'禁制的? –
不,我不知道如何有效地進行消毒,因爲我不知道表名。對此有何想法? – xte
它不應被編輯,但可從現有表/視圖列表中進行選擇。獲取的可用表格列表是數據庫特定的。在您的問題中添加適當的數據庫標記 – StanislavL