1.反弹注入原理
通过opendatasource()将查询到的数据发送到mssql服务器
2.反弹注入使用条件
是否存在堆叠注入
注意事项:
1.mssql 对字段的数据类型要求严格,测试回显点时,可以使用null来代替字段,之后对null进行替换,找出争取的数据类型
2.在使用联合查询时,推荐使用union all 进行查询
3.之前在mysql中查询表和字段时使用的系统自带库 information_schema在mssql中也存在,仍然可以使用,也可以使用其系统自带表,sysobjects查询表名,,syscolumns查询字段名,存储表名/字段名的字段为name
4.mssql在使用opendatasource()之前,需要服务器开放mssql端口,一般默认为1433
5.mssql中的延时语句
WAITFOR DELAY ‘00:00:03’ --延时3秒
6.opendatasource()有两个参数,
provider_name 用于访问数据源OLE db提供程序的PROGID名称,mssql名称为sqloledb
init_string 用于连接mssql,其中包含server 连接地址和端口,uid 用户名
pwd 密码 database 连接数据库
靶场:http://o9pz8015.ia.aqlab.cn/?id=1
此靶场可以使用显出注入,与mysql大致相同,注意字段数据类型即可
反弹注入
首先确认是否存在堆叠注入
http://o9pz8015.ia.aqlab.cn/?id=1’;select 1,null,null WAITFOR DELAY ‘00:00:05’ – q