No.1
声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
No.2
前言
在测试过程中,碰到oracle数据库,只发现存在一个低权限用户dm,由于权限不足无法进一步获取关键数据,同时无法进一步获取系统权限。
主机场景:
运行服务器:centos6.5数据库版本:OracleDatabase12cEnterpriseEditionRelease12.2.0.1.0-64bitProduction
低权限用户
ESTER
能够访问SQLPLUS终端,也可以使用PL/SQL工具连接。
XML反序列化
XML反序列化,可以描述一个JavaObject,以及用来构建Object时所需要调用的方法和相关参数。在Oracle中,使用XMLDecoder类重新组装XML序列化后的对象,而在组装过程中所调用的对象方法,没有被OracleJVM限制权限。因此,可以使用XML反序列化构建一个FileWriter对象,并调用其write方法,就可以实现文件写入操作。
No.3
Java存储过程
Oracle企业版在数据库中嵌入了Java虚拟机,Oracle数据库通过Java存储过程支持Java的本机执行,存储过程是发布到SQL并存储在数据库中以供一般使用的Java方法。调用存储过程
在互通性上面,Oracle数据库中的Java完全符合Java语言规范(JLS),并提供了通用的,面向对象的编程语言的所有优点。另外,与PL/SQL一样,Java提供对Oracle数据的完全访问权限。结果,任何用PL/SQL编写的过程也可以用Java编写。
No4
通过SQL终端查询java版本
createfunctionget_java_property(propinvarchar2)returnvarchar2islanguagejavanamejava.name.System.getProperty(java.lang.String)returnjava.lang.String;
No.5
JVM的基本保护
SETscanoff
createorreplaceand