域名服务器地址(域名服务器配置)

构建您的软件安全测试工具包的简介

域名服务器地址(域名服务器配置)

什么是 DNS 及其工作原理

域名服务器 (DNS) 的存在是将给定的域名转换为客户端正在寻找的服务器的 IP 地址。鉴于两台计算机建立连接需要一对 IP 地址,而且人们不会为他们选择访问的每个网站记住看似随机的数字串,因此当用户搜索网站。已建立 DNS 系统以促进翻译。

DNS 转换过程涉及四个不同的服务器,如下所示:

DNS 递归

DNS 递归器是面向客户端的,旨在接收请求。他们将进行额外的查询以获取客户的信息。想想让图书管理员为你找一本书。数据通常缓存在此服务器中,以防止沿整个链发送请求。

根域名服务器

如果 Internet 是一个库,根名称服务器实现等效的杜威十进制系统,存储所有网站名称和相应 IP 的索引。

顶级域名服务器

名称服务器地址主机名的最后一部分(例如 example.com 中的“.com”)。这是根名称服务器查询之后的下一步。

权威域名服务器

权威名称服务器将整个 URL 转换为 IP,是此过程的最后阶段。

域名服务器地址(域名服务器配置)

黑客和 DNS 区域转移

DNS 区域传输是将名称服务器记录从一个 DNS 服务器复制到另一个。 在 1990 年代后期,仅允许 DNS 服务器之间的区域传输成为行业最佳实践。 然而,总会有后来者,你只需要打破 DNS 链中的一个环节。

有了所有的 DNS 信息,就可以确定很多关于使用该域的网络的信息。 除了发现内部寻址方案之外,还可以确定使用哪些特定主机来分析区域信息。 此外,您可以找到目标的主要名称服务器。

创建安全测试工具

Bash 脚本和命令行工具可用于区域传输,但有时编写自己的安全工具更方便,也更有趣。 要开始在 Python 中创建 DNS 区域传输工具,我们将导入两个关键库,如下所示:

import dns.zone
import dns.resolver

这些将允许我们查询一组名称服务器(名称服务器)并解析特定目标的 IP。 我们将对名称服务器运行一次查询,然后进行双循环以解析每个 NS 中的 IP 列表并请求传输。

#!/bin/python3
# A Simple function that finds NS records, resolves their IP, and attempts a DNS Zone Transfer
import dns.zone
import dns.resolver

ns_servers = []
def dns_zone_xfer(address):
    ns_answer = dns.resolver.query(address, 'NS')
    for server in ns_answer:
        print("[*] Found NS: {}".format(server))
        ip_answer = dns.resolver.query(server.target, 'A')
        for ip in ip_answer:
            print("[*] IP for {} is {}".format(server, ip))
            try:
                zone = dns.zone.from_xfr(dns.query.xfr(str(ip), address))
                for host in zone:
                    print("[*] Found Host: {}".format(host))
            except Exception as e:
                print("[*] NS {} refused zone transfer!".format(server))
                continue

因为我在网上找到了这段代码的大部分内容,所以我决定用一个小的 UI 组件对其进行扩展,以帮助将 URL 传递给区域传输代码,如下所示。

域名服务器地址(域名服务器配置)

我希望你在这里学到了一些有用的东西。 快乐黑客。

关注七爪网,获取更多APP/小程序/网站源码资源!

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。

如若转载,请注明出处:https://www.huoyanteam.com/8630.html