文章总结: 本文介绍了批量查询ICP备案域名的新方法,解决了现有工具数据不新、配置复杂、不维护等问题。作者使用ICP_Query项目获取官方实时数据,但为避免单机部署被反爬机制识别,提出通过网络空间搜索引擎找到他人已部署的相同服务,然后循环调用这些服务以降低被拦截风险,并提供了Docker部署方法和代码实现。
综合评分: 89
文章分类: 爬虫,安全工具,WEB安全
最新批量ICP备案查询域名方法
原创
initsec
初始安全
2024年5月19日 08:30
中国香港
- 前言
- 使用项目
- 衍生
- 代码实现
前言
最近帮忙参加一个 HVV 项目,目标比较大,想着先拿自动化跑一遍捡漏收菜,自动化需要传入主域名列表,拿到控股企业列表后,就准备批量去查询这些公司的备案域名信息。
但把之前收集到的 ICP 备案查询工具试了一遍,发现都有如下问题之一:
- 达不到预期,比如通过一些第三方的网站 API 来查询,如 beianx,数据不是最新的,导致目标会被漏掉
- 配置麻烦,参数麻烦,太重量级了,使用起来太复杂了,而且效果也不好
- 不更新维护了,根本没法用
image-20240518下午102419619
所以搞了一晚上找了个目前还靠谱的办法,给大家简单分享一下,据说获取的数据都是从官方 https://beian.miit.gov.cn/#/Integrated/index 实时查询的。
使用项目
使用的项目是 https://github.com/HG-ha/ICP_Query,贴一张介绍图,有兴趣的可以去看看
自动打码,20240225 版本(yolo8+未转化孪生神经网络,非生产环境),性能提升,支持替换模型,数据集是手动生成的,存在误差。权重文件可以二次训练,欢迎贡献更好的模型,或者提供更真实、全面的数据集来优化模型。该发布方式不适用于生产环境
但实际使用过程中会发现问题:如果只部署一台,那么多次使用后大概率会出错,估计是被反爬机制识别到了
这时候有老板肯定会说:如果我部署很多台是不是就可以解决了?
道理是这样,但这样服务器成本太高了,所以才有了下面的衍生内容部分。
image-20240518下午102724865
衍生
如果只是怎么搭建使用这个东西我觉得就没必要写了,看 readme 就行。这里主要给大家衍生一下思路怎么尽可能的减少自己的成本。
通过查看文档,我们发现这玩意儿直接通过 docker 搭建就行,搭建后就可以直接用了,过程如下:
# 拉取镜像
docker pull yiminger/ymicp:yolo8_latest
# 运行并转发容器16181端口到本地所有地址
docker run -d -p 16181:16181 yiminger/ymicp:yolo8_latest
# 使用
curl http://127.0.0.1:16181/query/web?search=baidu.com
curl http://127.0.0.1:16181/query/web?search=深圳市腾讯计算机系统有限公司&pageNum=3&pageSize=20
这里有什么问题呢?经常白嫖的同学都知道,这里有未授权,也就是说可以直接用别人搭建好的平台。
那怎么去找别人搭建好的平台呢?最快的办法当然是通过网络空间搜索引擎了。
我自己搭建了一台,发现有特征如下:
fofa: body="16181/query/"
quark: response: "16181/query/"
虽然不多,但也够用了。
image-20240518下午104455793
image-20240518下午104425436
这时候只需要把这些平台整合起来然后循环调用就行了,被拦截的问题也就大大大降低了。
代码实现
要循环调用肯定离不开代码实现,但编写代码的时候会遇到一些小问题,这里给大家分享一下技巧,直接看图吧。
image-20240518下午105449620
实现效果如下:
image-20240518下午105603743
核心函数上面给了,如果需要完整代码上手就用的可公众号回复 “20240519ICP” 获取。
- END –
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:初始安全 initsec《最新批量ICP备案查询域名方法》