安華金和全面適配國產(chǎn)化操作系統(tǒng)及芯片CPU
數(shù)據(jù)安全治理關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫脫敏技術(shù)詳解
數(shù)據(jù)安全治理之API監(jiān)測系統(tǒng) ,解決API接口安全問題【安華金和】
新一代數(shù)據(jù)庫脫敏技術(shù),為敏感數(shù)據(jù)建立保護(hù)盾!
數(shù)據(jù)庫脫敏系統(tǒng)與金融行業(yè)案例解讀
數(shù)據(jù)安全治理建設(shè)思路的著力點(diǎn)——數(shù)據(jù)安全咨詢服務(wù)【安華金和】
數(shù)據(jù)庫防火墻功能有哪些?-數(shù)據(jù)安全-安華金和
數(shù)據(jù)安全關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫脫敏技術(shù)詳解【安華金和】
中國數(shù)據(jù)安全治理落地指導(dǎo)書籍《數(shù)據(jù)安全治理白皮書5.0》正式發(fā)布(附下載)
在所有的數(shù)據(jù)庫安全威脅攻擊手段中,SQL注入是其中非常典型的攻擊方法,也是目前數(shù)據(jù)庫面臨的幾大主要安全威脅之一。我們希望通過SQL注入是一種常見的入侵WEB應(yīng)用的手法。SQL注入是利用應(yīng)用系統(tǒng)的編程漏洞和SQL語言的語法特征,改變原始的SQL語句執(zhí)行邏輯而產(chǎn)生的。
攻擊者向Web應(yīng)用發(fā)送精心構(gòu)造的輸入數(shù)據(jù),這些輸入中的一部分被解釋成SQL指令,改變了原來的正常SQL執(zhí)行邏輯,執(zhí)行了攻擊者發(fā)出的SQL命令,最終使攻擊者獲取Web應(yīng)用的管理員權(quán)限或者下載了Web應(yīng)用存到數(shù)據(jù)庫中的敏感信息。
為了讓大家加深了解,下面簡單地對(duì)SQL注入的原理進(jìn)行示例性說明,如下圖是某網(wǎng)站的登錄界面:
登陸界面中輸入用戶名:admin 密碼admin1234。在Web應(yīng)用程序后臺(tái)會(huì)把輸入和程序混合變成SQL命令去訪問數(shù)據(jù)庫。最終Web應(yīng)用發(fā)給后臺(tái)數(shù)據(jù)的SQL命令是:
Select * from users where username = 'admin' and Password = 'admin1234'(這個(gè)形式)
這個(gè)SQL查詢要求數(shù)據(jù)庫檢查“用戶表”中的每一行,提取出每條username列為admin和Password列值為admin1234的記錄。如果數(shù)據(jù)庫中WHERE后的條件滿足。應(yīng)用程序?qū)樵撚脩艚⒁粋€(gè)通過驗(yàn)證的會(huì)話。(Web應(yīng)用登陸成功)
上面是正常登陸Web應(yīng)用的過程。如果由于編程的不嚴(yán)謹(jǐn),用戶名或密碼輸入處存在SQL注入點(diǎn),攻擊者可以利用SQL注入繞過Web應(yīng)用的登陸訪問控制。例如攻擊者在用戶名處輸入admin'-- 密碼處可以輸入任意值均可通過。
因?yàn)?,后臺(tái)實(shí)際的SQL語句將演變成:
select * from users where username ='admin'--' and password ='123dq
在SQL Server中“-”等于注釋,由于加入了“—”上面的語句等價(jià)于
select * from users where username= 'admin'
也就是說只要有用戶名為admin。攻擊者就可以直接用admin登入到應(yīng)用系統(tǒng)中。
當(dāng)然,SQL注入的攻擊方法遠(yuǎn)不止這一種,作者會(huì)在以后的文章中介紹更多的攻擊實(shí)例,并給出相應(yīng)的防護(hù)措施,希望各位可以在了解攻擊原理的基礎(chǔ)上,找到適用于自己的數(shù)據(jù)庫安全防護(hù)措施。