信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
文章作者:伤心的鱼[SST]
正文:
我们知道一般使用oracle数据库的都会是一些大的网站 所以一旦配置不当也会引起很多问题 最近看了很多关于oracle的文章,这几期黑X杂
志都刊登了Mickey写的关于oracle的文章,感觉很是经典,但是我在网上找了一圈竟然没有关于isqlplus入侵的.我们知道oracle安装后可以
以IE来访问,也就是isqlplus. 但是isqlplus是在oracle9i以后才有的.oracle8i是没有此项功能的 所以9i跟10g两个版本都是可以利用的. 虽
然最新的oracle有11G...但是偶没用过不晓得有没有什么新的XX哈哈.. 简单说一下iSqlPlus.他是Oracle9i提供的新功能,是Sqlplus的Web
形式发布。其client、middle、server可以位于同一台机器上也可以位于不同的机器。iSqlPlus不需要单独安装,访问
iSqlPlus
你只需要知道中间层服务器的地址和端口,可以以标准用户或者SYS等身份登陆。通过浏览器访问http服务器
一般设置我们的端口是:
http 7778 端口 / https 4443端
不同的版本有不同的端口.比如在oracle9i中就会是7778端口 在10g的版本里默认的端口为5560 只需要在IE里
输入
http://网站URL:7778/isqlplus 就可以了 这里我以9i版本做测试 140.128.65.12 这个地址全当是给大家练习用啦
各位可以自己扫1521端口 这个是oracle
默认端口 扫到开放的端口直接在
IE里连接就可以了 如果不能成功连接可能是管理员更改了端口或者oracle的版本不是9I以上的 如图1

在这里我们只要输入用户名口令等信息就可以登陆到数据库,并执行SQL语句及脚本文件。
我们知道在oracle里有几个默认的用户 scott是普通用户 默认密码为tiger system为默认的管理员用户 默
认密码为manager
SYS用户在oracle里具有最高的权限 默认密码为change_on_install 我们可以轻易的找到很多没有更改用户名
跟密码的网站
我就用scott用户进行登陆密码为tiger ID那里可以不用写 登陆成功后如图2
图2

在这里就跟我们用plsql连接一样可以执行SQL语句及脚本文件.也可以加载脚本来执行.oracle默认的配置每个
帐号有10次的登陆限制
如果10次输入密码错误用户就会被锁定 但是SYS用户为最高权限 虽然被锁定也能够访问数据库
现在我们来执行命令查询当前的oracle版本 如图3

命令为select * from v$version;
可以很清楚的看到版本为9i
然后再利用select * from tab来--查看当前用户所有的表 每个用户是不同的.
我们渗透一个网站首先考虑的是如何得到管理员的密码. 这个大家可以去看一下剑心的关于jsp+oracle注射的
文章 user_tab_columns这个系统表里存放了所有的用户表的列名 所以我们可以直接查询user_tab_columns表
里有没有PWD的列名!
其实isqlplus连接之后我们可以做很多的事. 在oracle里sys帐户 就像是mssql下的sa 我们来通过他来提升权
限
这里我就不多说了 因为已经有某某同学写过啦 嘿嘿 我再说就有点XX的嫌疑了
另外isqlplus在提权的时候也可能用上 可以通过查看$ORACLE_HOME/install/portlist.ini 文件可以找到当
前的isqlplus application server的监听端口 然后试试默认的密码 连上之后可以通过SYS来达到提权的目的
上次看到一篇文章里说 还有种 可以利用msvcrt.dll调用system()函数执行系统命令 .不晓得哪个牛牛会可以
教教偶 感谢ing
另外偶在百度了一下发现了个利用ORACLE 执行系统命令的东东
偶们先测试一个
如图4

虽然提示已建立 Java.
但是在触发器调用的时候却出错了 不晓得怎么回事 请各位大牛指教哇
就简单说这些..因为没见过有人在入侵中提到isqlplus所以就废话几句。 欢迎喜欢oracle的朋友
加偶一起学习..只是刚接触了点皮毛 呵呵 -_-
文章作者:伤心的鱼[SST]
正文:
我们知道一般使用oracle数据库的都会是一些大的网站 所以一旦配置不当也会引起很多问题 最近看了很多关于oracle的文章,这几期黑X杂
志都刊登了Mickey写的关于oracle的文章,感觉很是经典,但是我在网上找了一圈竟然没有关于isqlplus入侵的.我们知道oracle安装后可以
以IE来访问,也就是isqlplus. 但是isqlplus是在oracle9i以后才有的.oracle8i是没有此项功能的 所以9i跟10g两个版本都是可以利用的. 虽
然最新的oracle有11G...但是偶没用过不晓得有没有什么新的XX哈哈.. 简单说一下iSqlPlus.他是Oracle9i提供的新功能,是Sqlplus的Web
形式发布。其client、middle、server可以位于同一台机器上也可以位于不同的机器。iSqlPlus不需要单独安装,访问
iSqlPlus
你只需要知道中间层服务器的地址和端口,可以以标准用户或者SYS等身份登陆。通过浏览器访问http服务器
一般设置我们的端口是:
http 7778 端口 / https 4443端
不同的版本有不同的端口.比如在oracle9i中就会是7778端口 在10g的版本里默认的端口为5560 只需要在IE里
输入
http://网站URL:7778/isqlplus 就可以了 这里我以9i版本做测试 140.128.65.12 这个地址全当是给大家练习用啦
各位可以自己扫1521端口 这个是oracle
默认端口 扫到开放的端口直接在
IE里连接就可以了 如果不能成功连接可能是管理员更改了端口或者oracle的版本不是9I以上的 如图1

在这里我们只要输入用户名口令等信息就可以登陆到数据库,并执行SQL语句及脚本文件。
我们知道在oracle里有几个默认的用户 scott是普通用户 默认密码为tiger system为默认的管理员用户 默
认密码为manager
SYS用户在oracle里具有最高的权限 默认密码为change_on_install 我们可以轻易的找到很多没有更改用户名
跟密码的网站
我就用scott用户进行登陆密码为tiger ID那里可以不用写 登陆成功后如图2
图2

在这里就跟我们用plsql连接一样可以执行SQL语句及脚本文件.也可以加载脚本来执行.oracle默认的配置每个
帐号有10次的登陆限制
如果10次输入密码错误用户就会被锁定 但是SYS用户为最高权限 虽然被锁定也能够访问数据库
现在我们来执行命令查询当前的oracle版本 如图3

命令为select * from v$version;
可以很清楚的看到版本为9i
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production PL/SQL Release 9.2.0.1.0 - Production CORE 9.2.0.1.0 Production TNS for 32-bit Windows: Version 9.2.0.1.0 - Production NLSRTL Version 9.2.0.1.0 - Production
然后再利用select * from tab来--查看当前用户所有的表 每个用户是不同的.
我们渗透一个网站首先考虑的是如何得到管理员的密码. 这个大家可以去看一下剑心的关于jsp+oracle注射的
文章 user_tab_columns这个系统表里存放了所有的用户表的列名 所以我们可以直接查询user_tab_columns表
里有没有PWD的列名!
其实isqlplus连接之后我们可以做很多的事. 在oracle里sys帐户 就像是mssql下的sa 我们来通过他来提升权
限
这里我就不多说了 因为已经有某某同学写过啦 嘿嘿 我再说就有点XX的嫌疑了
另外isqlplus在提权的时候也可能用上 可以通过查看$ORACLE_HOME/install/portlist.ini 文件可以找到当
前的isqlplus application server的监听端口 然后试试默认的密码 连上之后可以通过SYS来达到提权的目的
上次看到一篇文章里说 还有种 可以利用msvcrt.dll调用system()函数执行系统命令 .不晓得哪个牛牛会可以
教教偶 感谢ing
另外偶在百度了一下发现了个利用ORACLE 执行系统命令的东东
//以下运行在sql window CREATE OR REPLACE AND compile JAVA SOURCE NAMED Utils AS import java.io.*; import java.lang.*; public class Utils extends Object{ public static int RunThis(String args){ Runtime rt=Runtime.getRuntime(); int rc=-1; try{ Process p=rt.exec(args); int bufSize=4096; BufferedInputStream bis=new BufferedInputStream(p.getInputStream(),bufSize); int len; byte buffer[]=new byte[bufSize]; while((len=bis.read(buffer,0,bufSize))!=-1) System.out.write(buffer,0,len); rc=p.waitFor(); }catch(Exception e){ e.printStackTrace(); rc=-1; } finally{ return rc; } } }
偶们先测试一个
如图4

虽然提示已建立 Java.
但是在触发器调用的时候却出错了 不晓得怎么回事 请各位大牛指教哇
就简单说这些..因为没见过有人在入侵中提到isqlplus所以就废话几句。 欢迎喜欢oracle的朋友
加偶一起学习..只是刚接触了点皮毛 呵呵 -_-