子域名爆破的泛解析问题

article/2025/8/4 19:17:20

  字节跳动——渗透测试实习生面试题:信息收集如何处理子域名爆破的泛解析问题?

一、什么是域名泛解析

  利用通配符* (星号)来做次级域名以实现所有的次级域名均指向同一IP地址。在域名前添加任何子域名,均可访问到所指向的IP地址。

常规域名解析
www.wolke.cn   10.10.10.10域名泛解析
*.wolke.cn     10.10.10.10
访问子域名a.wolke.cn,b.wolke.cn等均指向10.10.10.10

  这为我们去做子域名爆破带来了极大的不便,以前子域名爆破常用的是layer子域名挖掘机。不过layer子域名挖掘机在跑具有泛解析的站的时候,就不是那么适用

二、域名泛解析对抗

img

  这里以淘宝和百度为例子:ping一个绝对随机不可能存在的域名,它解析了,那么说明它大概率使用了泛解析

  淘宝可能存在域名泛解析👇

1669041209348-c8088bf5-bba6-4560-88ca-4f11fc7d3110

  百度可能不存在域名泛解析👇

1669041304697-185ced71-dd14-4cbb-90de-2189ad5195b7

  针对百度,我们可以直接使用layer子域名挖掘机等子域名爆破工具,而针对淘宝的资产,我们不能使用layer子域名挖掘机等常规工具

1、判断是否使用了泛解析

  思路:五次完全随机的域名前缀A记录解析

import asyncio
import aiodns
import randomloop = asyncio.get_event_loop()
resolver = aiodns.DNSResolver(loop=loop)async def query(name, query_type):return await resolver.query(name, query_type)def random_to_A(main_domain):total = []# 随机循环五次for i in range(5):sub_domain = "".join(random.sample('abcdefghijklmnopqrstuvwxyz', random.randint(8, 12)))res = query(sub_domain + "." + main_domain, 'A')result = loop.run_until_complete(res)total.append(result)return totalif __name__ == '__main__':main_domain = input("Please input the main_doamin: ")print(str(random_to_A(main_domain)).replace("],", "],\n"))

  五次完全A记录解析成功,认为存在泛解析,如果不存在泛解析问题,就常规子域名收集一把梭,如果检测出泛解析,就使用破泛解析的子域名爆破工具。

2、CNAME查询黑名单

  思路:维护特定厂商CNAME列表

  CNAME查询几个不存在的淘宝域名,也是一样的思路,循环多次不存在的域名,如果访问不存在的域名,CNAME为shop.taobao.com

img

3、A记录查询命中次数

  如果A记录查询,命中相同ip>10,后续的爆破A记录解析的域名就不展示记录

image-20221123165746034

三、脚本源码

  附上自己编写的简单的泛解析识别脚本源码

import asyncio
import aiodns
import random
import optparseloop = asyncio.get_event_loop()
resolver = aiodns.DNSResolver(loop=loop)async def query(name, query_type):return await resolver.query(name, query_type)def random_to_A(main_domain):total = []# 随机循环五次for i in range(5):sub_domain = "".join(random.sample('abcdefghijklmnopqrstuvwxyz', random.randint(8, 12)))res = query(sub_domain + "." + main_domain, 'A')result = loop.run_until_complete(res)total.append(result)return totaldef random_to_cname(sub_domain):res = query(sub_domain, 'CNAME')result = loop.run_until_complete(res)return resultif __name__ == '__main__':parser = optparse.OptionParser("%prog " + "[options] [domain]")parser.add_option('-a', action="store", dest='main_domain', type='string', help='')parser.add_option('-c', action="store", dest='sub_domain', type='string', help='')(options, args) = parser.parse_args()main_domain = options.main_domainsub_domain = options.sub_domainif main_domain:print(str(random_to_A(main_domain)).replace("],", "],\n"))elif sub_domain:print(str(random_to_cname(sub_domain)).replace("<", "\n<"))

image-20221123165729592

四、参考链接

  • https://www.cnblogs.com/piaomiaohongchen/p/15959042.html

http://chatgpt.dhexx.cn/article/EuuSPBlF.shtml

相关文章

域名泛解析什么意思?怎么设置?

域名泛解析什么意思 在域名前添加任何子域名&#xff0c;均可访问到所指向的网站。也就是客户的域名yfi6.com之下所设的*.yfi6.com全部域名均可访问。 域名泛解析怎么设置 泛域名解析是指将*.域名解析到同一IP。 泛域名解析和域名解析有何不同&#xff1f; 泛域名解析是指&a…

域名泛解析设置

接前一篇《MVC实现动态二级域名》&#xff0c;前面我们说道MVC如何实现动态二级域名&#xff0c;其中也涉及到DNS服务器&#xff0c;也要做相应的泛域名解析设置。所以我在这里&#xff0c;就来说道说道泛域名解析是怎么回事。 1、什么是泛域名解析 泛域名解析是指将*.域名解析…

域的泛解析到网站服务器,什么是域名泛解析 怎么设置域名泛解析

很多建网站新手可能是第一次听说“域名泛解析”&#xff0c;因为在学做网站论坛的建站基础知识中&#xff0c;只说了“域名解析”&#xff0c;就是将自己的网站域名解析到网站空间上&#xff0c;产生关联。那么“域名泛解析”与“域名解析”是不是同一个东东呢&#xff1f; 什么…

工具开发 | 子域名爆破的泛解析问题

声明&#xff1a;本人坚决反对利用文章内容进行恶意攻击行为&#xff0c;一切错误行为必将受到惩罚&#xff0c;绿色网络需要靠我们共同维护&#xff0c;推荐大家在了解技术原理的前提下&#xff0c;更好的维护个人信息安全、企业安全、国家安全。 一、什么是域名泛解析 域名泛…

如何设置域名泛解析及解决恶意泛域名解析的方法

最近看到很多的博主和站长都发帖讨论关于泛域名解析的问题&#xff0c;也看到过有不少的网站被人做了恶意泛域名解析&#xff0c;本来没打算再研究这个问题&#xff0c;可今天发现公司的一个企业网站也被恶意泛域名解析了&#xff0c;搞了半天&#xff0c;总算把问题给解决了。…

python基础之输入输出语法

博主简介&#xff1a;原互联网大厂tencent员工&#xff0c;网安巨头Venustech员工&#xff0c;阿里云开发社区专家博主&#xff0c;微信公众号java基础笔记优质创作者&#xff0c;csdn优质创作博主&#xff0c;创业者&#xff0c;知识共享者,欢迎关注&#xff0c;点赞&#xff…

python正确的输入语句_python怎么让输入语句

展开全部 1.语句 1.1 语句和表达式有什么区32313133353236313431303231363533e58685e5aeb931333365633936别呢&#xff1f;表达式就是某件事情&#xff0c;而语句是做某件事情&#xff08;即告诉计算机做什么&#xff09;。比如2*2是4&#xff0c;而print2*2则是打印4 1.2 if…

python循环语句打印输出1-10_python 笔记(变量,输入输出,条件语句,循环语句)...

首先了解 python支持一下几种运算符: 算术运算符: 赋值运算符: 复合赋值运算符: 变量 简单的说,变量就是编程中最基本的存储单位,变量会暂时性存储你进去的东西,例如:

python输入输出语句格式化输出字符串

python-输入输出-格式化输出字符串 输入3行字符串&#xff0c;然后对其按照说明进行格式化输出 输入格式: 第1行&#xff1a;一个浮点数字符串 第2行&#xff1a;一个整数字符串 第3行&#xff1a;一个非数值型字符串 输出格式: 对浮点数字符串: 第1行&#xff1a; 保留2位小…

python的选择语句if语句,Python的输入和输出函数(python基础学习5)

python的选择语句if语句&#xff0c;Python的输入和输出函数 if语句1&#xff09;第一种2&#xff09;第二种3&#xff09;第三种 python键盘输入屏幕输出输入input()函数 输出print&#xff08;&#xff09;函数1&#xff09;非格式化输出2&#xff09;格式化输出--%3&#xf…

在python中常用的输入输出语句分别是_python中输入和输出语句的基本使用

一、 input输入函数 input函数:获取用户输入,保存成一个字符串。重要的话,说两遍,input函数的返回值是一个字符串类型。哪怕你输入的是个数字1,返回给你的只会是字符串“1”,而不是 整数1。下面是一些简单的展示例子:>>> inp = input("please input your…

python输入语句-python中输入和输出语句的基本使用

一、 input输入函数 input函数&#xff1a;获取用户输入&#xff0c;保存成一个字符串。重要的话&#xff0c;说两遍&#xff0c;input函数的返回值是一个字符串类型。哪怕你输入的是个数字1&#xff0c;返回给你的只会是字符串“1”&#xff0c;而不是 整数1。下面是一些简单…

python输入语句-python输入语句

广告关闭 2017年12月&#xff0c;云社区对外发布&#xff0c;从最开始的技术博客到现在拥有多个社区产品。未来&#xff0c;我们一起乘风破浪&#xff0c;创造无限可能。 python条件语句目录:1. 分支语句(if...else...)2. 循环(for,while,嵌套循环) #for用在已知循环次数whil…

python3接收用户输入的语句是_python输入语句是什么

python输入语句是“input()”。input()函数可以从标准输入读入一行文本,默认的标准输入是键盘;即读取用户从键盘输入的信息。input()可以接收一个Python表达式作为输入,并将运算结果返回。 本教程操作环境:windows10系统、Dell G3电脑、Python3。 python输入语句是“input(…

6. Python基础:输入输出语句介绍

目录 一、Python程序的输入&#xff1a;input()函数 二、Python程序的输出&#xff1a;print()函数 三、代码实例&#xff1a;计算圆的周长和面积 输入输出语句是Python控制台与用户交互的最基本方式。 一、Python程序的输入&#xff1a;input()函数 输入函数input()&#xf…

python的输入和输出语句

输入语句是input( ) 举个例子 注意的是&#xff0c;输入的如果是数字&#xff0c;那可以直接输入&#xff1b;如果是字母及器组成的字母组合&#xff0c;则要加上单引号或者双引号&#xff01;否则会报错。 输出语句是print( ) 标识符 语法&#xff1a;字母&#xff0c;数字…

python输入输出语句

Python语言是一种面向对象的、高级的程序设计语言&#xff0c;是一个全功能的程序设计语言&#xff0c;其不仅具有强大的解释性、编译性和可移植性&#xff0c;而且还是一个面向对象的、功能强大的程序设计语言。 Python中有许多重要的语句&#xff0c;它们能用于各种目的。这其…

Python -- 基本的输入和输出

文章目录 1. 基于input()函数输入2. 基于print()的函数输出1.1 print&#xff08;&#xff09;函数的标准用法2.1 print&#xff08;&#xff09;函数格式化输出2.1.1 % 操作符2.1.2 format()函数2.1.3 f-strings格式化输出2.1.4 print()函数输出到文件2.1.5 print()函数输出AS…

Linux下内核漏洞利用几种方法,Linux内核漏洞利用(一)环境配置

8种机械键盘轴体对比 本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f; 我的实验环境是:Ubuntu 12.04 x86 qemu linux-2.6.32 busybox 1.19.4 安装qemu1$ sudo apt-get install qemu qemu-system Linux内核编译1 2 3 4 5 6 7 8$ wget …

文件操作之文件包含漏洞

目录 本文仅供参考、交流、学习&#xff0c;如有违法行为后果自负 文件包含类型 原理方面 文件包含漏洞原理案例&#xff1a; 必要条件 那么如何去检测漏洞是否存在该漏洞&#xff1f; 白盒 黑盒 类型 本地文件包含 无限制 有限制 远程文件包含 无限制 有限制 …