渗透资产去重(根据title且或banner且或lenght且或status)

一:需求原因

信息收集资产中的大量子域名其实是一个站点。需要去除掉重复的只保留一个进行批量扫描。

优点:节省时间

缺点:可能会错过某些资产,如生产环境下的站点和测试环境站点只跑了一个,同时403和404和50几会错过一些资产。

二:资产收集

信息收集了大量子域名或网址,一次可能上万个域名,这个时候需要进行资产去重。

譬如:

1. enscan 针对固定资产公司名字进行收集的资产域名

enscan.exe  -invest 100  -f  gongsi.txt    -is-merge   -delay  10

从网页文本中提取主域名_网址Url的根域名一键提取,去重,TLD标注,txt文本在线域名整理工具_桔子SEO工具

2. 针对资产收到的根域名进行跑子域名合集工具(最好使用那种判断了泛解析的工具进行暴力枚举+搜集引擎api等的工具合集进行跑子域名)。

3. fofa等第三方网络空间进行的资产收集。

如域名:

domain=“baidu.com”

host=“baidu.com”

ip="127.0.0.1"

“127.0.0.1"

4. 通过上述三个步骤会收集到大量域名资产。去掉重复,去ip,最后仅保留域名

我一般用这个TxtTool工具处理  付费软件的更好用,最好虚拟机注册就可以分享和删除重装后的机器码变动的麻烦。

此时会存在大量的域名。然后使用博客之前提到的工具

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

进行资产的第一层帅选。

此时还不能完全保证资产没有搞偏,因为会有一些域名

如:根域名为  baidu.com

跑子域名工具 会有这种,www.baidu.com.ddos.com 之类的无用的防护域名。

但基本上能去个99%的以上了。

如果要去掉此类防护域名的,可以将结果导入mysql数据库中

先进行查询,再进行删除此类域名,然后导出所有域名。

select * from results2 where target like "%.com.%" and target like "%.cn"
delete from results2 where target like "%.com.%" and target like  "%.cn"


select * from results2 where target like "%.com.%" and target like "%.com"
delete from results2 where target like "%.com.%" and target like  "%.com"

1. 资产收集完毕,开始去重

先判断目标是否解析:

domaintoip批量获取域名ip(bat,python,exe脚本)

进行两次判断之后,保留能解析的域名且使用 精英txt文本整理3.4 提取完全重合的资产。

此处可以把所有有解析的域名进行命令webfinder.txt

完全重合的资产只保留ip资产,去掉内网的地址ip

查询归属地工具可以查出所有ip归属地:GitHub - zangcc/zangcc_IPAddr_Scanner: 批量IP地址归属地爬取工具,基于javafx开发,图形化界面操作更简单。实现IP地址查询,IP地址批量查询,IP归属地批量查询功能。IP库调用的是IP318.com和纯真IP库,都是较权威的IP查询网站。

删除掉不要的国外ip和局域网ip:

此时就有2分资产了,一份子域名资产,一份ip资产

子域名资产webfinder.txt 放入webfinder.jar 只跑80和443端口提取

ip资产ip.txt 放入跑端口网站

masscantonmap(快速扫描识别服务过滤cdn,过滤防火墙)

此时就能收集到大量子域名及ip+port的域名资产了。

当然也不要忘记js里面找资产了,

URLFinder.exe  -f  1.txt  -m  1  >>  1111.txt

同时主要加入防止资产搞偏里面过一道。

三:去重方法

先判断网站存活weblive 

python38 whichAlive.py -f web.txt -t 5

得到的结果去掉不能访问的web,只保留能访问的子域名及能访问IP+port的web资产。

再使用 WebBatchRequest.jar进行web请求(这里最好不要勾选跳转跟随)

请求之后会得到

target  title  status banner lenght 的资产excle表

导入mysql数据库中的时候,分隔符还是什么的默认" 改“无” 就能全部导入了。

给每行插入序列id:
ALTER TABLE results2 ADD id INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;


删除长度,标题重复的数据只保留最小的id:
DELETE FROM results2 WHERE id NOT IN (SELECT id  FROM (SELECT MIN(id) id FROM results2 GROUP BY `status`,`contentLength`,`banner`,`title` ) cc);

可全选可单选   `status`,`contentLength`,`banner`,`title` 根据自己的需求来。

一般这个时候我会全选,然后先导出去重的200 302 301的,然后404及403等等的看资产多少进行删除。

四:延申

如果使用xray之类批量扫描的话,建议使用代理池进行扫描。

然后先对资产再次进行过滤防止搞偏

同时使用xray配置进行资产进行使用根域名及ip进行限定然后扫描。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值