您的位置:首页 > 数据库 > Oracle

ORACLE_LATERAL-SQL-INJECTION_个人见解

2008-05-07 09:43 441 查看
原PAPER最近忙啊忙啊的,今天终于有点点时间抽出来看看技术文章了,最近国外又出了关于新型ORA语句字符拼接的时候,DATE转换为VARCHAR语句或者参数绑定则不用担心太多,
create procedure d)[/align]
[align=left]begininsert kjdatetable end新型注入***,那么在什么地方会发生DATE 而又不采用参数绑定的语句。[/align]
[align=left]或者IMMEDIATE[/align]
replace kjdatepoc(as[/align]
[align=left] 'insert into kjdatetable values(';[/align]
[align=left];[/align]

中的注射的目的,
,我在这里也不废话。
只是简单演示了可以输出单引号!
SET; [b]to_number
('999999D99999'
只是多了一个单引号,那有什么用呢?乐观的来说!在特定情况下是很有价值的!看以下一个存储过程
[align=left]or(kjexpnum varchar2[/b][/align]
[align=left](begin[b]:='''');[/align]
[align=left][b]'SELECT * FROM DUAL WHERE ID='||[b]SecStr
||end类型进行替换了!我们可以进行测试
[align=left] numinjpoc('''--';语句为
[align=left]那么如果我们结合这个NUMBER SET;[/align]
[align=left],'||kj.exp()--';SELECT * FROM DUAL WHERE ID='10001 and name='||kj.exp()--'[/align]
ALTER配合后,再去***系统内部的一些函数或者过程来提升权限。未尝不是一种好的突破思路,但是对于单语句进行SQL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 职场 数据库