如何高效的进行子域名收集与筛选?

简介: 本文讲的是如何高效的进行子域名收集与筛选?,当我在寻找Hackerone上的新目标时,我总是会去关注已解决报告的数量,因为这一更高的数字可能意味着你在这里能够发现漏洞的机会比在那些关闭了提交意见的程序上更为容易。正因为这个原因,所以我选择了雅虎!
+关注继续查看
本文讲的是如何高效的进行子域名收集与筛选?

介绍

当我在寻找Hackerone上的新目标时,我总是会去关注已解决报告的数量,因为这一更高的数字可能意味着你在这里能够发现漏洞的机会比在那些关闭了提交意见的程序上更为容易。正因为这个原因,所以我选择了雅虎!

我们都知道雅虎是大型的国际公司,所以我预计其会有很多子域名,路径和重定向,但从哪里开始呢?这时候就要用到我最喜欢的枚举/强化子域名工具:Sublister(https://github.com/aboul3la/Sublist3r)和Fierce(https://github.com/davidpepper/fierce-domain-scanner)了。我希望能够通过他们找到那些被遗忘、错误配置或运行旧版本软件的子域名。最终,Subliste3r给了我9000多个子域,但我该如何检查它们呢?

如何高效的进行子域名收集与筛选?

半自动搜索

我相信在这9000个子域名中,至少会存在一个薄弱的点。因为在我看来要想记住如此大的一家公司的一切是非常困难的。当Sublist3r做了他的工作后,我打开了这一结果,并手动删除了无用的和重复的子域名,以及那些没有解决或没有响应的。当然我没有一个一个检查,但这样下来仍然还有7000个子域名。

接下来让我们试试快速扫描,我想这应该有助于整理。而为了达成这一目的,我尝试使用Nmap的输出到XML,因为它更容易解析。

nmap -sS -p80,443 -iL nmap_input.txt -oX nmap_output

来自Nmap的示例XML输出:

<hostnames>
<hostname name=”start.producersdesktop.yahoo.com” type=”user”/>
<hostname name=”proxy.publish.bf1.yahoo.com” type=”PTR”/>
</hostnames>
<ports><port protocol=”tcp” portid=”80"><state state=”closed” reason=”reset” reason_ttl=”42"/><service name=”http” method=”table” conf=”3"/></port>
</ports>
<times srtt=”148262" rttvar=”148262" to=”741310"/>
</host>

我们只能通过添加 – 打开nmap命令来扫描打开的端口。对我来说,最有用的参数是“state”和“hostname name”。我相信“hostname name”是DNS,在这种情况下,我发觉有时候有我的ISP的地址,所以我知道他们可能没有解决这一问题。在这个基础上,我们可以尝试抛出另外几百个子域。我写了一个脚本,它能够根据主机名的名称删除xml条目,并将其另存为另一个XML。

import xmltree
def removeHostname():
   for host in root.iter('host'):
        for elem in host.iter():
            if 'name' in elem.attrib and elem.attrib['name'] == 'ISP_redir_site':
                root.remove(host)tree.write('output.xml')

好的,现在我们已经有了开放80端口的所有子域名。接下来我们可以扫描nmap他们的HTML标题,并再次删除那些有些相似的标题。

雅虎有很多不同语言的网站,例如:ru.search.yahoo.com,br.search.yahoo.com,de.stars.yahoo.com等,下一步是把那些重要的子域名拒之门外。最后我整理出了约700个潜在的易受攻击的子域名。

这时候该是检查剩下的内容的时间了。我不知道如何找到其他子域之间的下一个共同点,所以我手动检查了它们。过了一段时间,我在一些子域看到了相似性和重复性,所以实际看来比我想象的容易得多。因此这样我就可以在http://yvap.query.yahoo.com/上找到开放的YQL内部控制台。而我进一步的探索也逐渐展示了在http://ygh-app.media.yahoo.com/上进行对Beaker实例的测试。

如何高效的进行子域名收集与筛选?

如何高效的进行子域名收集与筛选?

除了http://yvap.query.yahoo.com/v1/test/js/console_ajax.js之外的JavaScript代码,我找不到任何有趣的东西。虽然有不止一个内部控制台,但其他内部控制台都关闭了,至少看起来像像是如此。

如何高效的进行子域名收集与筛选?

YQL的示例查询是在https://query.yahooapis.com/v1/public/yql?q=show%20tables&diagnostics=true,所以我在其余的控制台锁定过程中也尝试了这种方法。这意味着内部控制台的主面板已关闭,但您仍然可以通过url提交查询。我列举了所有的这些,并一一进行了检查。“show tables”的命令完成了其中的大部分工作,所以我试图走得更远,但在我报告之后,证明其是可以公开访问的,甚至应该说必须是。

如何高效的进行子域名收集与筛选?

在http://ygh-app.media.yahoo.com/我发现了正在测试Beaker的网站,说实话,我其实并不一定需要处理Beaker,但经过快速的检测,我发现了另一个信息已经被披露。

如何高效的进行子域名收集与筛选?

总结

我知道这不是革命性的方法,但这样做肯定会更快,更精确,当然也会更省时,因此我仍然希望与您分享这种方法。几周前,我发现了一个名为Aquatone的工具,其中包含我所需要的一切。当然,如果您使用任何其他工具进行检测,也可以分享给我们。




原文发布时间为:2017年7月18日
本文作者:鲁班七号
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
9月前
|
分布式计算 监控 Spark
日志分析实战之清洗日志小实例7:查看样本数据,保存统计数据到文件
日志分析实战之清洗日志小实例7:查看样本数据,保存统计数据到文件
68 0
日志分析实战之清洗日志小实例7:查看样本数据,保存统计数据到文件
|
11月前
|
JavaScript 前端开发 应用服务中间件
网络流量日志埋点收集—确定收集信息和途径|学习笔记
快速学习网络流量日志埋点收集—确定收集信息和途径
75 0
网络流量日志埋点收集—确定收集信息和途径|学习笔记
|
11月前
|
SQL 监控 HIVE
网站流量日志分析--统计分析--回头单次访客分析|学习笔记
快速学习网站流量日志分析--统计分析--回头单次访客分析
56 0
网站流量日志分析--统计分析--回头单次访客分析|学习笔记
|
11月前
|
SQL 监控 数据处理
网站流量日志分析--统计分析--多维统计分析--来访 referer、时间维度|学习笔记
快速学习网站流量日志分析--统计分析--多维统计分析--来访 referer、时间维度
114 0
网站流量日志分析--统计分析--多维统计分析--来访 referer、时间维度|学习笔记
|
11月前
|
SQL 监控 开发者
网站流量日志分析--统计分析--多维统计分析--来访 host、时间维度|学习笔记
快速学习网站流量日志分析--统计分析--多维统计分析--来访 host、时间维度
74 0
网站流量日志分析--统计分析--多维统计分析--来访 host、时间维度|学习笔记
|
11月前
|
SQL 监控 HIVE
网站流量日志分析--统计分析--独立访客分析|学习笔记
快速学习网站流量日志分析--统计分析--独立访客分析
131 0
网站流量日志分析--统计分析--独立访客分析|学习笔记
|
11月前
|
数据采集 分布式计算 监控
网站流量日志分析—数据入库—含义和 ETL 本质解释|学习笔记
快速学习网站流量日志分析—数据入库—含义和 ETL 本质解释
264 0
网站流量日志分析—数据入库—含义和 ETL 本质解释|学习笔记
|
关系型数据库 MySQL 监控
日志服务数据加工最佳实践: 使用搜索映射做高级数据富化
典型映射方式不能满足富化需求时, 可以使用搜索映射, 搜索映射与传统方式映射的区别在于匹配方式不同. 本篇介绍日志服务数据加工最佳实践: 使用搜索映射做高级数据富化.
2127 0
|
数据采集 BI 数据库
数据采集填报中自动计算的指标如何做
自动计算,跨表取数,报表工具,填报
1064 0
|
Web App开发 监控 JavaScript
(转) 网站统计中的数据收集原理及实现
原文地址:http://blog.codinglabs.org/articles/how-web-analytics-data-collection-system-work.html 网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计和腾讯分析等等。
1323 0
推荐文章
更多