记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

以针对Yahoo! 的安全测试为例讲解如何高效的进行子域名收集与筛选

2017-07-22 12:10

众所周知Yahoo!是一个国际性的大厂,所以我预计其拥有大量子域名,路径以及重定向页面。从何处下手呢?我常使用Sublister及Fierce进行枚举/爆破子域名。我希望能够利用这些工具找到被遗忘,配置错误的或者还在使用旧版软件运行的子域名。使用Subliste3r我获得了超过9000条子域名信息,如何进行检查呢?

\
\

Semi – 自动化搜索

我不信这9000多条子域名中没有一个存在漏洞的。打开Sublist3r扫描结果,手动删除一些无效及重复子域名。虽然我没有进行很细致的检查,但仍旧还有7000多条记录。接下来进行这些记录进行排序,使用Nmap以更容易解析的XML方式输出结果。

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

输出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地址,这时你就该考虑该站点是否有进行解析的问题。我们这里的基数比较大,扔几百条记录出去影响也不大。为此我写了一个脚本,根据主机名的name参数决定是否删除该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标题( — script http-title),并且再次对所得数据进行除重。Yahoo!这个国际性大厂设有多语言站点,比如:

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/也观察到这个信息。

\

YQL (Yahoo! Query Language)内部主机

\

Beaker

深入探究

除了http://yvap.query.yahoo.com/v1/test/js/console_ajax.js中的JavaScript代码之外,我没有发现任何有趣的信息。这里不止一个内部主机,但是不是出于关闭状态就是下面截图这个样子。

\

锁着的内部YQL主机YQL的示例查询如下:

https://query.yahooapis.com/v1/public/yql?q=show%20tables&diagnostics=true

我尝试使用该方法来重置锁着的主机,意思即是虽然主面板显示内部主机是无法访问,但你仍然可以通过URL提交查询。将列表中的子域名一个一个的拿来检测,其中大部分都能运行show tables命令。在向厂商报告问题之后我想继续深入下去,结果发现该页面可任意访问

\

在http://ygh-app.media.yahoo.com我发现用于测试的Beaker站点,老实说这还是我第一次处理这种情况。经过检测发现了另一个泄露的信息。

\

总结

这并不是一个革命性的方法,但相交其他方式会快一点,准确一点,耗费时间更少一点。在两个星期前我发现一个名为Aquatone的工具将所用到的脚本都集成到一起了。

知识来源: www.2cto.com/article/201707/660599.html

阅读:55135 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“以针对Yahoo! 的安全测试为例讲解如何高效的进行子域名收集与筛选”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云