反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-顯式格式化模型
如果使用日期或數值連線到SQL或PL/SQL的文字中,並且不能使用繫結變數來傳遞它們,
則可以使用顯式的格式化模型來把它們轉換成文字,這是獨立於執行的會話的NLS引數設定的。
可以確保轉換後的值具有日期或數字的字面量的格式。
建議使用顯式的獨立於本地的格式化模型來構造SQL語句,不僅僅是出於安全的考慮,
也可以確保動態SQL語句可以在任何全域性環境中正常執行。
--11g12_07_14.prc,針對11g12_07_11.prc的解決方法 CREATE OR REPLACE PROCEDURE get_recent_record ( user_name IN VARCHAR2, service_type IN VARCHAR2, rec OUT VARCHAR2) IS query VARCHAR2(4000); BEGIN
query := 'SELECT value FROM secret_records WHERE user_name=''' || user_name || ''' AND service_type=''' || service_type || ''' AND date_created> DATE ''' || TO_CHAR(SYSDATE - 30,'YYYY-MM-DD') || '''';
DBMS_OUTPUT.PUT_LINE('查詢: ' || query); EXECUTE IMMEDIATE query INTO rec; DBMS_OUTPUT.PUT_LINE('結果: ' || rec); END;
-- 11g12_07_14.tst -- 執行之前先設定會話變數 -- ALTER SESSION SET NLS_DATE_FORMAT='"'' OR service_type=''Merger"'; DECLARE record_value VARCHAR2(4000); BEGIN get_recent_record('Anybody', 'Anything', record_value); END;
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1082077/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL隱碼攻擊原理是什麼?如何防範SQL隱碼攻擊?SQL
- SQL隱碼攻擊SQL
- SQL隱碼攻擊(pikachu)SQL
- SQL隱碼攻擊方法SQL
- MYSQL SQL隱碼攻擊MySql
- WEB三大攻擊之—SQL隱碼攻擊與防護WebSQL
- DVWA-SQL Injection(SQL隱碼攻擊)SQL
- SQL隱碼攻擊導圖SQL
- SQL隱碼攻擊語句SQL
- pikachu-SQL隱碼攻擊SQL
- 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
- MSSQL SQL隱碼攻擊 總結SQL
- Oracle SQL隱碼攻擊 總結OracleSQL
- 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字元
- 軟體安全測試之SQL隱碼攻擊SQL