字節(jié)跳動——滲透測試實習(xí)生面試題:信息收集如何處理子域名爆破的泛解析問題?

一、什么是域名泛解析 利用通配符* (星號)來做次級域名以實現(xiàn)所有的次級域名均指向同一IP地址。在域名前添加" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 建站知識 > 子域名爆破的泛解析問題

子域名爆破的泛解析問題

時間:2023-02-03 20:04:01 | 來源:建站知識

時間:2023-02-03 20:04:01 來源:建站知識

文章首發(fā)于:https://wolke.cn

字節(jié)跳動——滲透測試實習(xí)生面試題:信息收集如何處理子域名爆破的泛解析問題?

一、什么是域名泛解析

利用通配符* (星號)來做次級域名以實現(xiàn)所有的次級域名均指向同一IP地址。在域名前添加任何子域名,均可訪問到所指向的IP地址。

常規(guī)域名解析www.wolke.cn 10.10.10.10域名泛解析*.wolke.cn 10.10.10.10訪問子域名a.wolke.cn,b.wolke.cn等均指向10.10.10.10 這為我們?nèi)プ鲎佑蛎茙砹藰O大的不便,以前子域名爆破常用的是layer子域名挖掘機。不過layer子域名挖掘機在跑具有泛解析的站的時候,就不是那么適用

二、域名泛解析對抗







這里以淘寶和百度為例子:ping一個絕對隨機不可能存在的域名,它解析了,那么說明它大概率使用了泛解析

淘寶可能存在域名泛解析




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



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




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



針對百度,我們可以直接使用layer子域名挖掘機等子域名爆破工具,而針對淘寶的資產(chǎn),我們不能使用layer子域名挖掘機等常規(guī)工具

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

思路:五次完全隨機的域名前綴A記錄解析

import asyncioimport aiodnsimport 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 = [] # 隨機循環(huán)五次 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記錄解析成功,認為存在泛解析,如果不存在泛解析問題,就常規(guī)子域名收集一把梭,如果檢測出泛解析,就使用破泛解析的子域名爆破工具。

2、CNAME查詢黑名單

思路:維護特定廠商CNAME列表

CNAME查詢幾個不存在的淘寶域名,也是一樣的思路,循環(huán)多次不存在的域名,如果訪問不存在的域名,CNAME為http://shop.taobao.com




img



3、A記錄查詢命中次數(shù)

如果A記錄查詢,命中相同ip>10,后續(xù)的爆破A記錄解析的域名就不展示記錄




image-20221123165746034



三、腳本源碼

附上自己編寫的簡單的泛解析識別腳本源碼

import asyncioimport aiodnsimport randomimport 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 = [] # 隨機循環(huán)五次 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_domain sub_domain = options.sub_domain if 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



四、參考鏈接

關(guān)鍵詞:爆破

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉