科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道帮你了解 Oracle 标签安全测试(2)

帮你了解 Oracle 标签安全测试(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

帮你完全了解 Oracle 标签安全测试

作者:010032 来源:赛迪网技术社区 2007年9月5日

关键字: 安全 数据库 ORACLE

  • 评论
  • 分享微博
  • 分享邮件
8。测试: ^H6 U84  
%c=<}t41U  
  SQL> CONN test/test Qm]yF%o3:  
H9Yqn~&  
{|T\ei%  
  已连接。 8z"-xPfxQ  
3 ];pq@q  
  SQL> INSERT INTO TS.document VALUES L~'?#7OJ  
  2 (1, 'SHARE_WARE',CHAR_TO_LABEL j.h]NCw@z  
  3 ('DOC_POLICY','PUBLIC')); |3A'zaSu  
9bm ?),  
_G/r7CD  
  已创建 1 行。 Vs ,!se Q  
yU uqRdV3  
  SQL> INSERT INTO TS.document VALUES ;v#BF'7  
  2 (2, 'WEST_PAYROLL', 20200); <g3d|x<n  
* YmZ.p)}n  
])rM3  
  已创建 1 行。 w!""dr{  
e]w.`ims  
  SQL> INSERT INTO TS.document VALUES ,adCsv  
  2 (3, 'EAST_SALES', 20400); G$W%$n=fq  
Ip!d?@K!  
pSrRt&  
  已创建 1 行。 W5\cYqJO  
@?9r?W  
  SQL> INSERT INTO TS.document VALUES D[v2!mS,'  
  2 (4, 'COMP_PAYROLL', 30900); YUUc#z_,E  
!470^/ q  
(H)pgO7  
  已创建 1 行。 ! ]AIXxOL  
C@t:u YT  
  SQL> [<[Iej-7  
  SQL> commit; RWJz-3,(  
jxp yf{^}  
5E"a@VgK7  
  提交完成。 A &]+ `w  
( 4qOf  
  SQL> SELECT docname, doc_label +ChaC{:#  
  2 FROM ts.document; UL Gt?l>  
  DOCNAME DOC_LABEL [OK3  
  SHARE_WARE 10000 A&+"QlsT  
  WEST_PAYROLL 20200 "!<D=gL?75  
  EAST_SALES 20400 5cT}fg E  
  COMP_PAYROLL 30900 XI}EN(m"6  
  SQL> desc ts.document $BN3K7l   
%StmOSm  
#>uGQxD  
  名称 是否为空? 类型 3@DG<cc  
[ )\  
  DOCID NUMBER bz#u28L  
  DOCNAME VARCHAR2(60) BEE;d"r  
  DOC_LABEL NUMBER(10) <1&z>K  
  SQL> conn hr/hr ]YVU"z]j  
J3+f6Y 2v6  
0R,^F0/ %  
  已连接。 Fzw>JT3R  
vrDQ'9#  
  SQL> SELECT docname, doc_label ^TaZdXa  
  2 FROM ts.document; AXD>smET  
  DOCNAME DOC_LABEL I{Ye#Y+`  
  SHARE_WARE 10000 lGD3P  
  WEST_PAYROLL 20200 eb4C=]KT  
  SQL> conn hr/hr .'SKOw9],  
9eTAnXF  
c=%QPqtF  
  已连接。 4:CcCOlj*  
j N\(U{i  
  SQL> 2  b1R  
  SQL> INSERT INTO TS.document VALUES !>!I<$J@]  
  2 (1, 'SHARE_WARE',CHAR_TO_LABEL _HO-> H!  
  3 ('DOC_POLICY','PUBLIC')); g6VVbN0WR  
=<$S|hm  
3a.A&x`  
  已创建 1 行。 cU-*kmS  
+rz;s#g$i  
  SQL> INSERT INTO TS.document VALUES jk d}<C^M  
  2 (2, 'WEST_PAYROLL', 20200); ]EbZ08z  
acP%hzXg;  
aEu Z.0O  
  已创建 1 行。 w*\oVmkV  
>cp~>F[[]  
  SQL> INSERT INTO TS.document VALUES }{x@gH  
  2 (3, 'EAST_SALES', 20400); `gO\Xxh"  
  INSERT INTO TS.document VALUES sD,X (v-c  
  * |7YSf='4i[  
=_@ c_#p  
Gt7Zd|?0;/  
  第 1 行出现错误: ni^ c<]yI  
$0Arlqs4R}  
  ORA-12406: 未经策略 DOC_POLICY 授权的 SQL 语句 ,)KiN * W  
  ORA-06512: 在 "LBACSYS.LBAC_STANDARD", line 20 ) tw37Xr  
  ORA-06512: 在 "LBACSYS.LBAC$AI0_45004", line 1 N Mgzu3.  
  ORA-04088: 触发器 'LBACSYS.LBAC$AI0_45004' 执行过程中出错 <)X+m" _  
  SQL> INSERT INTO TS.document VALUES f6OWh  
  2 (4, 'COMP_PAYROLL', 30900); x\7;uIH  
  INSERT INTO TS.document VALUES 5])OzFT]1}  
  * rY+""v g!  
r-!d0W/a  
JiSMmF|B  
  第 1 行出现错误: x_$nv!QF2X  
s0t}k=o  
  ORA-12406: 未经策略 DOC_POLICY 授权的 SQL 语句 (1<GRF8  
  ORA-06512: 在 "LBACSYS.LBAC_STANDARD", line 20 In+ l u,  
  ORA-06512: 在 "LBACSYS.LBAC$AI0_45004", line 1 Z5\"X  
  ORA-04088: 触发器 'LBACSYS.LBAC$AI0_45004' 执行过程中出错 qSt{ obG  
  SQL> conn scott/tiger pyM{\p6  
ctUr; V}  
70']HA  
  已连接。 # )r-z  
:$%k #L^  
  SQL> INSERT INTO TS.document VALUES =HU0Tm1h  
  2 (1, 'SHARE_WARE',CHAR_TO_LABEL [x(Hv`Y  
  3 ('DOC_POLICY','PUBLIC')); d"T7C`|  
o)H9/Dq  
nDUeF_AcL  
  已创建 1 行。 laaKd>  
0+H;{#  
  SQL> INSERT INTO TS.document VALUES C'T<DC]-  
  2 (2, 'WEST_PAYROLL', 20200); Bj:V]:\L  
  INSERT INTO TS.document VALUES hFpj2,}  
  * /6BM5lr  
v#d}=*'  
Adb7$eB|  
  第 1 行出现错误: E1.IBI4  
[ H-bOTN  
  ORA-12406: 未经策略 DOC_POLICY 授权的 SQL 语句 9aQ!Rs<s~*  
  ORA-06512: 在 "LBACSYS.LBAC_STANDARD", line 20 QG:UbMBVg  
  ORA-06512: 在 "LBACSYS.LBAC$AI0_45004", line 1 vW&'bxP3  
  ORA-04088: 触发器 'LBACSYS.LBAC$AI0_45004' 执行过程中出错 ,o1 u19IwG  
  SQL> INSERT INTO TS.document VALUES 01v{5jz_  
  2 (3, 'EAST_SALES', 20400); y`M'$-jQ  
  INSERT INTO TS.document VALUES T$!U"T$tU  
  * Z](s#AvF  
nV'G`y0  
r'JMBW$-  
  第 1 行出现错误: M/]o6  
)g8/c-)]|  
  ORA-12406: 未经策略 DOC_POLICY 授权的 SQL 语句 sP8>eO  
  ORA-06512: 在 "LBACSYS.LBAC_STANDARD", line 20 D6 yU  
  ORA-06512: 在 "LBACSYS.LBAC$AI0_45004", line 1 2JQY9EwiL  
  ORA-04088: 触发器 'LBACSYS.LBAC$AI0_45004' 执行过程中出错 \wJNS:1  
  SQL> INSERT INTO TS.document VALUES 5~s(cB.  
  2 (4, 'COMP_PAYROLL', 30900); Q]xPtP<  
  INSERT INTO TS.document VALUES }oj<0UW  
  * Q?5ap<q{D^  
f/-D? '|`  
`po>rQI8B  
  第 1 行出现错误: `C%? lpm  
5[(G|O(  
  ORA-12406: 未经策略 DOC_POLICY 授权的 SQL 语句 Lsd-v).7  
  ORA-06512: 在 "LBACSYS.LBAC_STANDARD", line 20 )57dF\ZFu  
  ORA-06512: 在 "LBACSYS.LBAC$AI0_45004", line 1 _&PvqY4^+  
  ORA-04088: 触发器 'LBACSYS.LBAC$AI0_45004' 执行过程中出错 FO.qxi2[P  
  SQL> !za3z cN}  
F I.]d"}  
=`8Gg uE  
  对于DML(insert,update,delete)操作呢?其实,Oracle是自动在表上添加了触发器,这一点我们可以在设置完label以后,通过dba_triggers视图验证,添加的是INSERT AFTER EACH ROW,UPDATE AFTER EACH ROW和DELETE BEFORE EACH ROW三个trigger jc  9U$  
vwgk~jF  
  触发器 'LBACSYS.LBAC$AI0_45004'代码: 8yK*vw  
C|52]<w  
  DECLARE v_allowed NUMBER; %P0;ZQfOm  
  new_label LBAC_LABEL; ,RfKR&DD,  
  BEGIN k!81  
  IF lbac_session.policy_disabled('DOC_POLICY') OR (lbac_standard.secure_context('LBAC$0_LAB', 'LBAC$BYPASS') = 2) QaTjNDh  
  THEN RETURN; l#Xr#F'Z  
  END IF; ID`IxjVI#4  
  IF :new.DOC_LABEL IS NULL OR (NOT lbac_utl.data_label(:new.DOC_LABEL)) nBYtn^  
  THEN c,!?2q!  
  lbac_standard.raise_facility_error('TRUSTED', 'LBAC', 12406, 'DOC_POLICY'); M- Qw<f  
  END IF; G 6lLN-6  
  IF bitand(nvl(lbac_standard.secure_context('LBAC$LABELS', :new.DOC_LABEL),0),3)=0 3_){:P#3  
  THEN X*vv8(Ru'  
  lbac_standard.raise_facility_error('TRUSTED', 'LBAC', 12406, 'DOC_POLICY'); 2@*w6dWy  
  END IF; HDgoYbz$  
  IF bitand(nvl(lbac_standard.secure_context('LBAC$LABELS',:new.DOC_LABEL),0),2)=2 C/32  
  THEN Dr "LI3`  
  lbac_services.audit_privilege('DOC_POLICY',2,0,TRUE,'insert privilege used'); azUGI! Xb  
  END IF; <|/6NL&kI  
  END;
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章