python 远程连接nas(七爪源码使用Python)
构建您的软件安全测试工具包的简介
什么是 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/小程序/网站源码资源!
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com