本篇內(nèi)容介紹了“SQL是怎么注入漏洞的”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個細(xì)節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及木包裝箱等,在網(wǎng)站建設(shè)、營銷型網(wǎng)站、WAP手機(jī)網(wǎng)站、VI設(shè)計、軟件開發(fā)等項目上具有豐富的設(shè)計經(jīng)驗。
結(jié)構(gòu)化查詢語句(Structured Query Language,縮寫:SQL),是一種特殊的編程語言,用于數(shù)據(jù)庫中的標(biāo)準(zhǔn)數(shù)據(jù)庫查詢語言。
SQL注入(SQL Injection)是一種常見的Web安全漏洞,攻擊者利用這個問題,可以訪問或者修改數(shù)據(jù),或者利用潛在的數(shù)據(jù)庫漏洞進(jìn)行攻擊。
SQL注入(SQL Injectiob)是一種將sql語句插入或者添加到應(yīng)用(用戶)的輸入?yún)?shù)中的攻擊,之后再將這些參數(shù)傳遞給后臺的SQL服務(wù)器加以解析并執(zhí)行。
表示層:Web瀏覽器/呈現(xiàn)引擎---訪問網(wǎng)站
邏輯層:腳本語言:ASP、PHP、JSP、.NET等---加載、編譯并執(zhí)行腳本文件
存儲層:數(shù)據(jù)庫:MSSQL、MySQL、PRACLE等---執(zhí)行SQL語句
GEI
POST
HTTP頭部注入
Cookie注入
......
任何客戶端可控,傳遞到服務(wù)器的變量。也就是能與數(shù)據(jù)庫交互的地方。
針對SQL注入的攻擊行為,可描述為通過用戶可控參數(shù)中注入SQL語法,破壞原有的SQL結(jié)構(gòu),達(dá)到編寫程序時意料之外的結(jié)果的攻擊行為。
其原因可以歸結(jié)為以下兩點原因疊加造成的:
1.程序編寫者在處理程序和數(shù)據(jù)庫交互的時候,使用字符拼接的方法構(gòu)造SQL語句
2.未對用戶可控參數(shù)進(jìn)行足夠的過濾便將參數(shù)內(nèi)容拼接進(jìn)入到SQL語句中
攻擊者利用SQL注入漏洞,可以獲取數(shù)據(jù)庫中的多種信息(例如:管理員后臺密賬號、碼),從而竊取數(shù)據(jù)庫中的數(shù)據(jù)。
在特別的情況下,還可以修改數(shù)據(jù)庫內(nèi)容或者插入內(nèi)容到數(shù)據(jù)庫。
如果數(shù)據(jù)庫權(quán)限分配存在問題,或者數(shù)據(jù)庫本身存在缺陷,那么攻擊者通過SQL注入漏洞直接獲取webshell或者服務(wù)器系統(tǒng)權(quán)限。
整型注入
字符串型注入
顯注:
UNION query SQL Injection(可聯(lián)合查詢注入)
Error-based SQL Injection(報錯型注入)
盲注:
Boolean-based bind SQL Injection(布爾型注入)
Time-based bind SQL Injection(基于時間延遲注入)
Stacked queries SQL Injection(可多語句查詢注入)
查詢當(dāng)前數(shù)據(jù)庫版本:select version();
查詢當(dāng)前數(shù)據(jù)庫:select database();
查詢當(dāng)前路徑:select @@basedir;
查詢當(dāng)前數(shù)據(jù)庫用戶:select user();
查詢當(dāng)前My SQL路徑:select @@datadir;
查詢服務(wù)器的系統(tǒng)版本:select@@Version_compole_os
查詢數(shù)據(jù)庫:select schema_name from information_schema.schemata;
查詢表名:select table_name from information_schema.tables where table_schema='庫名' ;
查詢列名:select column_name from information_schema.columns where table_schema='庫名' and table_name='表名' ;
1.正則過濾特殊字符,PDO預(yù)編譯
2.web應(yīng)用防火墻
3.站庫分離
“SQL是怎么注入漏洞的”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!