安華金和全面適配國產(chǎn)化操作系統(tǒng)及芯片CPU
數(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ù)庫脫敏技術詳解【安華金和】
由于近年來,Mysql的數(shù)據(jù)庫安全漏洞數(shù)量逐年增加,安華金和數(shù)據(jù)庫安全攻防實驗室(DBSec Labs)對Mysql的漏洞加大了關注,本文將對Mysql的一個典型漏洞進行技術分析,進一步說明數(shù)據(jù)庫漏洞可能帶來的安全威脅。
Mysql5.5.5及以上的版本曾被發(fā)現(xiàn)了一個整數(shù)溢出報錯,引起越權執(zhí)行的安全漏洞。由于5.5.5及以上版本中引入了整數(shù)溢出報錯機制。該機制在報錯信息中會顯示部分查詢結果,低于5.5.5的版本整數(shù)溢出不會顯示報錯信息(無法利用溢出報錯漏洞)。漏洞發(fā)現(xiàn)者指出這個漏洞主要是用于SQL注入攻擊,但經(jīng)過研究,我們確認此漏洞的危害遠比發(fā)現(xiàn)者認為的大。除了前文中提到的幾種SQL注入攻擊,此漏洞還可以用于在數(shù)據(jù)庫上進行越權訪問和對數(shù)據(jù)庫所在操作系統(tǒng)進行非法訪問。越權訪問無權限表的核心思路是:從文件系統(tǒng)中讀取數(shù)據(jù)庫表的內(nèi)容到可訪問的表中。
最直接的方法是利用mysql的load_file函數(shù)對本地核心文件做讀操作。但在實際應用中往往是通過網(wǎng)站獲取的用戶不具備FILE權限。不具備file權限的Mysql的用戶是無法通過Load_file讀文件或者通過into dumpfile 和into outfile去寫文件。我們可以要采用迂回的手段,先把想讀取的數(shù)據(jù)庫表文件信息讀入到數(shù)據(jù)庫中,然后在從數(shù)據(jù)中去訪問。這其中的關鍵是load data infile函數(shù)。
下面用Mysql庫下的user(user表負責存儲Mysql的賬號密碼)表給大家做個示例。首先創(chuàng)建一個不具備FILE權限的數(shù)據(jù)庫用戶test.去讀取user.MYD從其中獲取到ROOT賬號的加密字符串,然后再通過對加密字符串的破解獲得root用戶的密碼,User表在本地文件中具體體現(xiàn)為USER.MYD。
把user.MYD寫入test有訪問權限的表中:select exp(~(LOAD DATA LOCAL INFILE 'C:\Program Files\MySQL\MySQL Server 5.5\data\mysql/user.MYD' INTO TABLE test2 fields terminated by '')x));
然后執(zhí)行 select * from test2;
至此獲取root密碼的加密字符串。mysql采用的是md5進行加密。可以通過訪問相關網(wǎng)站對加密字符串進行破解,從而得到ROOT的真實密碼,最終得到MYSQL ROOT權限,從而達到訪問數(shù)據(jù)庫中任意敏感信息的目的,同理其他的表也可以通過類似的手段獲得表中的敏感數(shù)據(jù)信息。
越權訪問在多種數(shù)據(jù)庫安全威脅中危害等級極高,在獲取了數(shù)據(jù)庫的高權限賬戶后,獲取核心敏感數(shù)據(jù)對于黑客來說猶如囊中取物般簡單。很多數(shù)據(jù)庫安全漏洞并不像其表面看起來簡單,很多中級漏洞到了黑客手中完全有可能進階為高危漏洞,安華金和數(shù)據(jù)庫安全攻防實驗室將持續(xù)關注并積極發(fā)現(xiàn)漏洞,并給予專業(yè)的技術分析及防護思路,與大家分享經(jīng)驗。