反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-繫結變數
如果在PL/SQL中使用動態SQL,你必須檢查輸入的文字以確保是你所期望的。
可以使用下面的技術:
n 繫結變數
防止SQL注入攻擊的最有效的方法是使用繫結變數。資料庫只是使用它的值,並不解釋的他的內容。
使用繫結變數也可以提高效率。
-- 11g12_07_12.prc,可以解決11g12_07_09/10.prc中的問題 CREATE OR REPLACE PROCEDURE get_record_2 (user_name IN VARCHAR2, service_type IN VARCHAR2, rec OUT VARCHAR2) IS query VARCHAR2(4000); BEGIN --檢視傳入的引數的值 DBMS_OUTPUT.PUT_LINE('引數user_name: ' || user_name); DBMS_OUTPUT.PUT_LINE('引數service_type: ' || service_type); query := 'SELECT value FROM secret_records WHERE user_name=:a AND service_type=:b';
DBMS_OUTPUT.PUT_LINE('查詢: ' || query);
EXECUTE IMMEDIATE query INTO rec USING user_name, service_type; DBMS_OUTPUT.PUT_LINE('結果: ' || rec); END;
-- 11g12_07_12.tst DECLARE record_value VARCHAR2(4000); BEGIN --沒有SQL注入 --get_record_2('Andy', 'Waiter', record_value); --有SQL注入 get_record_2('Anybody '' OR service_type=''Merger''--', 'Anything', record_value); END;
2.
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1082023/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL隱碼攻擊原理是什麼?如何防範SQL隱碼攻擊?SQL
- SQL隱碼攻擊SQL
- SQL隱碼攻擊總結SQL
- SQL隱碼攻擊(pikachu)SQL
- SQL隱碼攻擊方法SQL
- MYSQL SQL隱碼攻擊MySql
- MSSQL SQL隱碼攻擊 總結SQL
- Oracle SQL隱碼攻擊 總結OracleSQL
- WEB三大攻擊之—SQL隱碼攻擊與防護WebSQL
- DVWA-SQL Injection(SQL隱碼攻擊)SQL
- SQL隱碼攻擊導圖SQL
- SQL隱碼攻擊語句SQL
- pikachu-SQL隱碼攻擊SQL
- XSS與SQL隱碼攻擊SQL
- 預防SQL隱碼攻擊筆記SQL筆記
- 前端如何預防SQL隱碼攻擊?前端SQL
- 【網路安全】什麼是SQL隱碼攻擊漏洞?SQL隱碼攻擊的特點!SQL
- 攻擊JavaWeb應用[4]-SQL隱碼攻擊[2]JavaWebSQL
- 攻擊JavaWeb應用[3]-SQL隱碼攻擊[1]JavaWebSQL
- SQL隱碼攻擊關聯分析SQL
- Mybatis如何防止SQL隱碼攻擊MyBatisSQL
- Nacos Derby SQL隱碼攻擊漏洞SQL
- SQL隱碼攻擊-堆疊注入SQL
- SQL隱碼攻擊基礎原理SQL
- 【網路安全入門】SQL隱碼攻擊是什麼?SQL隱碼攻擊危害有哪些?SQL
- SQL隱碼攻擊之字元型和數字型注入SQL字元
- Java審計之SQL隱碼攻擊篇JavaSQL
- 如何做好防護SQL隱碼攻擊漏洞SQL
- 什麼是SQL隱碼攻擊(SQLi)SQL
- SQL隱碼攻擊讀寫檔案SQL
- Mura CMS processAsyncObject SQL隱碼攻擊漏洞ObjectSQL
- SQL隱碼攻擊速查表(上)SQL
- SQL隱碼攻擊——時間盲注SQL
- SQL隱碼攻擊基礎入門SQL
- SQL隱碼攻擊:Sqlmap初體驗SQL
- SQL隱碼攻擊及如何解決SQL
- SQL隱碼攻擊預備知識-sql基礎SQL
- 軟體安全測試之SQL隱碼攻擊SQL
- SQL隱碼攻擊原理——萬能密碼注入SQL密碼