ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python 子域名爆破

2021-04-30 09:02:42  阅读:177  来源: 互联网

标签:subdomin 爆破 Python url 域名 result urls print


目录

前言

众所周知,渗透测试的灵魂就是信息收集,而子域名子站作为主站的“边角料”,安全程度一般来说相对于主站是较弱一些的,因此我们可以选择从子域名入手。所以说渗透过程中尽可能多的找到子域名,就多一分找到漏洞的可能。

读取字典

读取字典中的子域名,然后拼接成一个完整域名。

with open(path, mode='r+') as f1: #path为字典文件路径
    for line in f1.readlines():
        subdomin = line.replace('\n', "") #去除字典中的换行字符
        subdomin = subdomin + '.' + domain #拼接成完整域名
        urls.append(subdomin)

请求域名

请求域名,根据返回值判断域名是否存在

for url in urls:
    try:
        response = requests.get(url='http://'+url,headers=head,timeout=3)
        if response.status_code in [200,302,403]:
            result.append(url)
            with open(domain+'.txt',mode='a+',encoding='utf-8') as f2:
                f2.write(url+'\n')
            print('成功找到域名%s' %url)
    except:
        print('没有域名%s'%url)

这段代码为核心代码,首先for 语句遍历urls列表中的所有域名,然后将请求每个域名,注意请求的时候一定是http://域名 所以本段代码中直接在Http请求中拼接的url。
try… except…语句作用是抛出异常,有些域名不存在则抛出异常,如果没有这个语句,遇到不存在的域名时候会报错,程序直接停止。

完整版代码

import requests

path = './dic.txt'         #字典路径
domain = 'qq.com'     #要爆破的域名
head = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'
}
urls=[]
result = []

with open(path, mode='r+') as f1:
    for line in f1.readlines():
        subdomin = line.replace('\n', "")
        subdomin = subdomin + '.' + domain
        urls.append(subdomin)

for url in urls:
    try:
        response = requests.get(url='http://'+url,headers=head,timeout=3)
        if response.status_code in [200,302,403]:
            result.append(url)
            with open(domain+'.txt',mode='a+',encoding='utf-8') as f2:
                f2.write(url+'\n')
            print('成功找到域名%s' %url)
    except:
        print('没有域名%s'%url)

if len(result) > 0:
    print('\n')
    print('====================== 子域名爆破结果 ==========================')
    print('\n')
    print("共找到域名%d条" %len(result))
    print(result)

在这里插入图片描述

标签:subdomin,爆破,Python,url,域名,result,urls,print
来源: https://blog.csdn.net/weixin_43047908/article/details/116291211

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有