提取多个关键字的行(防止目标资产搞偏)

1. 介绍

提取多个关键字的行

2. 用于场景

只检测授权目标,一般情况下批量资产收集后和批量扫描前用于资产过滤,防止渗透没有权限授权的渗透资产。

批量资产收集后,像fofa,批量工具子域名爆破,jslink提取之后。

批量扫描前,像rad+xray,awvs,afrog,nulei之前

3. 代码部分

如果关键字是

xjtu.edu.cn

mubiao里面有下面这种zzzs.xjtu.edu.cn.w.xxx.cn

结果就会是

zzzs.xjtu.edu.cn
zzzs.xjtu.edu.cn.w.xxx.cn
zzzsms.xjtu.edu.cn

但是这个脚本可以用来处理这种:http://zzzs.xjtu.edu.cn/web/admin.php 提取关键字的行了

f = open('guanjianzi.txt','r',encoding='utf-8')
q = open('jieguo.txt','a+',encoding='utf-8')
line1 = f.readlines()
for l in line1:
    p = open('mubiao.txt', 'r', encoding='utf-8')
    line2 = p.readlines()
    for ll in line2:
       # print(ll)
        if l.strip() in ll:
           # print(ll)
           # print(l)
            #print(l.strip())
            q.writelines(ll)
    p.close()
f.close()
q.close()

经常遇到,改进下:如果关键字是

1.xjtu.edu.cn

mubiao里面有下面这种

zzzs.xjtu.edu.cn
zzzs.xjtu.edu.cn.w.xxx.cn
zzzsms.xjtu.edu.cn
zzzs1.xjtu.edu.cn
zzzs1.xjtu.edu.cn.w.xxx.cn
zzzsms.1xjtu.edu.cn

结果也只会是(右侧匹配机制)

zzzs1.xjtu.edu.cn

就不适合 这种:  http://zzzs.xjtu.edu.cn/web/admin.php  提取关键字的行了。

# 读取guanjianzi.txt文件中的关键字列表
with open('guanjianzi.txt', 'r', encoding='utf-8') as gjz_file:
    keywords = gjz_file.read().splitlines()

# 初始化一个空列表来存储匹配的行
matching_lines = []

# 打开并处理mubiao.txt文件
with open('mubiao.txt', 'r', encoding='utf-8') as chuli_file:
    for line in chuli_file:
        # 遍历关键字列表,检查当前行是否以任何关键字结束
        for keyword in keywords:
            if line.rstrip().endswith(keyword):
                # 如果找到匹配项,将该行添加到匹配行列表中
                matching_lines.append(line)
                break  # 找到匹配项后,跳出内层循环

# 将匹配的行写入jieguo.txt文件
with open('jieguo.txt', 'w', encoding='utf-8') as jieguo_file:
    jieguo_file.writelines(matching_lines)

print("匹配的行已保存到jieguo.txt文件中。")

4. 用法

python38 提取多个关键字的行.py

guanjianzi.txt   放入授权的根域名或者授权子域名 ,ip地址等

mubiao.txt 放入你收集的不完全确认授权资产。

jieguo,txt 就是运行后的授权资产结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值