本篇內(nèi)容介紹了“SQL是怎么注入漏洞的”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
SQL注入前言
成都創(chuàng)新互聯(lián)公司長期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為伍家崗企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè),伍家崗網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
結(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注入(SQL Injectiob)是一種將sql語句插入或者添加到應(yīng)用(用戶)的輸入?yún)?shù)中的攻擊,之后再將這些參數(shù)傳遞給后臺的SQL加以解析并執(zhí)行。常見的Web架構(gòu)
表示層:Web瀏覽器/呈現(xiàn)引擎---訪問網(wǎng)站
邏輯層:腳本語言:ASP、PHP、JSP、.NET等---加載、編譯并執(zhí)行腳本文件
存儲層:數(shù)據(jù)庫:MSSQL、、PRACLE等---執(zhí)行SQL語句哪里存在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注入的危害漏洞危害
攻擊者利用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)限。SQL注入的分類和利用根據(jù)SQL數(shù)據(jù)類型分類
整型注入
字符串型注入根據(jù)注入的語法分類
顯注:
UNION query SQL Injection(可聯(lián)合查詢注入)
Error-based SQL Injection(報錯型注入)
盲注:
Boolean-based bind SQL Injection(布爾型注入)
Time-based bind SQL Injection(基于時間延遲注入)
Stacked queries SQL Injection(可多語句查詢注入)My SQL注入相關(guān)語句
查詢當(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='表名' ;sql注入修復(fù)
1.正則過濾特殊字符,PDO預(yù)編譯
2.web應(yīng)用防火墻
3.站庫分離
分享標(biāo)題:SQL是怎么注入漏洞的
分享URL:http://www.rwnh.cn/article22/cjcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、定制網(wǎng)站、云服務(wù)器、面包屑導(dǎo)航、網(wǎng)站維護(hù)、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)