From 3f4656be1d16d94e221b754fb11f2ab9e9f47fd8 Mon Sep 17 00:00:00 2001 From: keac Date: Fri, 20 Dec 2024 21:37:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(config):=20=E6=9B=B4=E6=96=B0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E7=89=88=E6=9C=AC=E5=B9=B6=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=96=B0=E5=8A=9F=E8=83=BD=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将配置文件版本从 0.4 升级到 0.5 - 新增了多个实用功能,如正则过滤公司、深度查询等 - 优化了 README 文档,增加了首次使用和 Cookie 配置说明 - 改进了错误提示信息 --- README.md | 240 +++++++++++++++++++++++---------------- common/config.go | 12 +- common/parse.go | 2 +- internal/aiqicha/bean.go | 3 +- 4 files changed, 155 insertions(+), 102 deletions(-) diff --git a/README.md b/README.md index c8ee087..5d4b63b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,3 @@ - - - -

Logo @@ -10,7 +6,7 @@

剑指HW/SRC,解决在HW/SRC场景下遇到的各种针对国内企业信息收集难题
-
+
GitHub stars GitHub releases License @@ -20,98 +16,110 @@

探索更多Tricks » -
+

- 下载程序 + 🧐如何使用 + · + ⬇️下载程序 · - 反馈Bug + ❔反馈Bug · - 提交需求 + 🍭提交需求

-**使用程序可能导致⌈账号被封⌋,程序仅用于信息收集用途,禁止商用以及用于非法用途** + + + +## 🤷‍♂️郑重声明 + +文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担。 + +使用均为公开数据,**不提供破解、绕过防护手段**,使用程序可能导致 ⌈账号异常⌋ **若该程序影响或侵犯到您的合法权益,请与我们联系** admin#wgpsec.org(#替换为@) -## 功能列表 +## ⚒️功能列表 + ![ENScanGo](README/ENScanGo.png) - - 使用支持以下API,并支持合并数据导出 - - 爱企查 (未登陆信息带*) +- 支持以下数据源 + - 爱企查 - 天眼查 + - 快查 + - 企查查(不提供) + - 小蓝本(不提供) +- 数据插件 - 阿拉丁 (数据反馈比较老旧暂时下线) - 酷安市场 - 七麦数据 - - 查询信息 + - 备案信息查询API + +- 可查询信息 - ICP备案 - APP - 微博 - 微信公众号 - 控股公司 - 供应商 - - 客户信息 - 小程序 - - 控股X的公司的以上所有信息 + - 公开招聘信息 + - 对外投资信息 - ... - - 通过APK市场收集使用信息 - +- 实用功能 + - 支持合并导出 + - 正则过滤公司 + - 支持深度查询 收集多层孙公司 + - 支持API模式提供工具联动 ## 使用指南 -### 第一次使用 + +### 首次使用 + 前往[RELEASE](https://github.com/wgpsec/ENScan_GO/releases)下载编译好的文件使用 -初次使用时需要使用 -v 命令生成配置文件信息 +首次使用时需要使用 -v 命令生成配置文件并配置Cookie + ``` ./enscan -v ``` -**遇到问题请加上参数 --debug 提issue** - -如果查询不出来目标网站信息,可以都挂上BURP代理进行查询 - -**自行编译请使用 go 编译命令,或使用编译脚本 build.sh** - -### 登陆配置 - -**AQC** - -出现安全验证请勿结束进程,请使用带cookie的浏览器过验证即可继续 - -请注意获取COOKIE域名,默认查询为aiqicha.baidu.com,请勿使用 aiqicha.com - -Cookie信息请勿直接 `document.cookie`,可能因为http-only 选项无法复制全导致登陆失败 +### 快速使用 -![image-20221028223835307](README/image-20221028223835307.png) +*如遇到无法访问等情况,可自行尝试挂上burp或代理* -**TYC tycid** +**默认公司信息** (网站备案, 微博, 微信公众号, app) -配置COOKIE后配置tycid +``` +./enscan -n 小米 +``` -![image-20230722194839975](./README/image-20230722194839975.png) +**批量查询**( 文本按行分隔 可选PID模式) -### 快速使用 +``` +./enscan -f f.txt +``` -**默认公司信息** (网站备案, 微博, 微信公众号, app) +**对外投资占股100%的公司** ``` -./enscan -n 小米 +./enscan -n 小米 -invest 100 ``` -**对外投资占股100%的公司 获取孙公司(深度2)** +**组合筛选** + +大于51%公司、分支机构,只要ICP备案信息 ``` -./enscan -n 小米 -invest 100 -deep 2 +./enscan -n 小米 -field icp -invest 51 --branch ``` -**组合筛选** - -大于51%控股公司、供应商、分支机构,只要ICP备案信息 +收集孙公司 (deep参数,需要与invest一起使用) 大于51%公司、分支机构,只要ICP备案信息 ``` -./enscan -n 小米 -field icp --hold --supplier --branch +./enscan -n 小米 -field icp -invest 51 --branch --deep 2 ``` -**使用不同渠道** +**使用不同渠道** 使用天眼查数据源(或可设定为 all 组合多个数据源) @@ -125,6 +133,37 @@ Cookie信息请勿直接 `document.cookie`,可能因为http-only 选项无法 ./enscan -n 小米 -type aqc,tyc ``` +使用插件渠道 + +``` +./enscan -n 小米 -type aqc,miit +``` + +**请设置请求延时,防止造成影响** + +``` +./enscan -n 小米 -delay 3 +``` + +### Cookie配置 + +**AQC** + +出现安全验证请使用获取cookie的浏览器过验证即可继续,默认查询为 aiqicha.baidu.com + +Cookie信息请勿直接 `document.cookie`,可能因为http-only 选项无法复制全导致登陆失败 + +![image-20221028223835307](README/image-20221028223835307.png) + +**TYC tycid** + +配置COOKIE后配置tycid + +![image-20230722194839975](./README/image-20230722194839975.png) + +其他Cookie请自行参考获取 + + ### 选项说明 #### **field 获取字段** @@ -145,6 +184,7 @@ Cookie信息请勿直接 `document.cookie`,可能因为http-only 选项无法 - `wx_app` 微信小程序 - `copyright` 软件著作权 - `supplier` 供应商信息(通过招标书确定) +- 其他(根据插件情况更新) #### **type 获取字段** @@ -153,46 +193,56 @@ Cookie信息请勿直接 `document.cookie`,可能因为http-only 选项无法 ``` -n 小米 -type tyc ``` +**查询数据源** - `aqc` 爱企查 - `tyc` 天眼查 +- `kc` 快查 - `all` 全部查询 + +**插件** + - `aldzs` 阿拉丁 (仅小程序) - `coolapk` 酷安市场 (仅APP) - `qimai` 七麦数据(仅APP) -- `chinaz` 站长之家(仅ICP备案) +- `miit` HG-ha 的 ICP_Query (ICP备案、APP、小程序、快应用) **非狼组维护,团队成员请使用内部版本** #### 完整参数 -| 参数 | 样例 | 说明 | -| ----------------- | -------------- | -------------------------------------- | -| -n | 小米 | 关键词 | -| -i | 29453261288626 | 公司PID(自动识别类型) | -| -f | file.txt | 批量查询,文本按行分隔(可选PID模式) | -| -type | aqc | API类型 | -| -o | | 结果输出的文件夹位置(可选) | -| -is-merge | | 合并导出 | -| -invest | | 投资比例 | -| -field | icp | 获取字段信息 | -| -deep | 1 | 递归搜索n层公司 | -| -hold | | 是否查询控股公司 | -| -supplier | | 是否查询供应商信息 | -| -branch | | 查询分支机构(分公司)信息 | -| -is-branch | | 深度查询分支机构信息(数量巨大) | -| -api | | 是否API模式 | -| -debug | | 是否显示debug详细信息 | -| -is-show | | 是否展示信息输出 | -| -is-group | | 查询关键词为集团 | -| -is-pid | | 批量查询文件是否为公司PID | -| -delay | | 每个请求延迟(S)-1为随机延迟1-5S | -| -proxy | | 设置代理 | -| -timeout | | 每个请求默认1(分钟)超时 | -| -no-merge | | 批量查询【取消】合并导出 | -| -v | | 版本信息 | -### API模式 +*文档更新不及时,请以程序提示为准* + +| 参数 | 样例 | 说明 | +| -------------- | -------------- | ------------------------------------------------------------ | +| -n | 小米 | 关键词 | +| -i | 29453261288626 | 公司PID(自动识别类型) | +| -f | file.txt | 批量查询,文本按行分隔(可选PID模式) | +| -type | aqc | API类型 | +| -o | | 结果输出的文件夹位置(可选) | +| -is-merge | | 合并导出 | +| -invest | | 投资比例 | +| -field | icp | 获取字段信息 | +| -deep | 1 | 递归搜索n层公司,需搭配invest使用 | +| -hold | | 是否查询控股公司(可能需要VIP账户) | +| -supplier | | 是否查询供应商信息 | +| -branch | | 查询分支机构(分公司)信息 | +| -is-branch | | 深度查询分支机构信息(数量巨大) | +| -api | | 是否API模式 | +| -debug | | 是否显示debug详细信息 | +| -is-show | | 是否展示信息输出 | +| -is-group | | 查询关键词为集团 | +| -is-pid | | 批量查询文件是否为公司PID | +| -delay | | 每个请求延迟(S)-1为随机延迟1-5S | +| -branch-filter | | 提供一个正则表达式,名称匹配该正则的分支机构和子公司会被跳过 | +| -proxy | | 设置代理 | +| -timeout | | 每个请求默认1(分钟)超时 | +| -no-merge | | 批量查询【取消】合并导出 | +| -v | | 版本信息 | -**api调用效果(前端开发中)** + +### API模式 + +**api调用效果** 可使用 https://enscan.wgpsec.org/api/info 体验 (因被滥用下线) @@ -206,7 +256,7 @@ Cookie信息请勿直接 `document.cookie`,可能因为http-only 选项无法 #### API说明 -获取信息将实时查询展示,可与其他工具进行API联动 +获取信息将实时查询展示,可与其他工具进行API联动,请注意**不要开放到公网** **获取信息** @@ -215,35 +265,34 @@ GET /api/info?search=小米&invest=100&branch=true ``` | 参数 | 参数 | 说明 | -| ------ | -------------------- | -------------------------- | -| name | 文本 | 完整公司名称(二选一) | -| type | 文本,与命令参数一致 | 数据源 | -| field | 文本,与命令参数一致 | 筛选指定信息 | -| depth | 数字 | 爬取几层公司 如 2 为孙公司 | -| invest | 数字 | 筛选投资比例 | -| holds | true | 筛选控股公司 | +| -------- | -------------------- | -------------------------- | +| name | 文本 | 完整公司名称(二选一) | +| type | 文本,与命令参数一致 | 数据源 | +| field | 文本,与命令参数一致 | 筛选指定信息 | +| depth | 数字 | 爬取几层公司 如 2 为孙公司 | +| invest | 数字 | 筛选投资比例 | +| holds | true | 筛选控股公司 | | supplier | true | 筛选供应商信息 | -| branch | true | 筛选分支信息 | -| output | true | 为true导出excel表格 | - +| branch | true | 筛选分支信息 | +| output | true | 为true导出excel表格下载 | #### 启动部署 **golang 版本依赖** + ``` go >= 1.22.1 ``` - **API模式** -启动API模式将在配置端口监听,并启动api服务,可通过api服务进行调用读取数据 +启动API模式将在31000端口监听,并启动api服务,可通过api服务进行调用读取数据 ``` ./enscan --api ``` -## 交流&反馈 +## 交流&反馈 关注公众号 `WgpSec狼组安全团队` 回复`加群`一起交流~ @@ -251,17 +300,16 @@ go >= 1.22.1 [![Stargazers over time](https://starchart.cc/wgpsec/ENScan_GO.svg)](https://starchart.cc/wgpsec/ENScan_GO) - - ## 404星链计划 ENScanGo 现已加入 [404星链计划](https://github.com/knownsec/404StarLink) +## JetBrains OS licenses - -## JetBrains OS licenses -``ENScanGo`` had been being developed with `GoLand` IDE under the **free JetBrains Open Source license(s)** granted by JetBrains s.r.o., hence I would like to express my thanks here. +``ENScanGo`` had been being developed with `GoLand` IDE under the **free JetBrains Open Source license(s)** granted by +JetBrains s.r.o., hence I would like to express my thanks here. + diff --git a/common/config.go b/common/config.go index f2e07ae..8ddeabd 100644 --- a/common/config.go +++ b/common/config.go @@ -151,13 +151,17 @@ type ENConfig struct { } var cfgYName = filepath.Join(utils.GetConfigPath(), "config.yaml") -var cfgYV = 0.4 -var configYaml = `version: 0.4 +var cfgYV = 0.5 +var configYaml = `version: 0.5 app: - miit_api: '' + miit_api: '' # HG-ha的ICP_Query (非狼组维护,团队成员请使用内部版本) cookies: aiqicha: '' # 爱企查 Cookie tianyancha: '' # 天眼查 Cookie tycid: '' # 天眼查 CApi ID(capi.tianyancha.com) - qimai: '' # 七麦数据 Cookie + qcc: '' # 企查查 Cookie + qcctid: '' # 企查查 TID console.log(window.tid) + aldzs: '' # 阿拉丁 Cookie + xlb: '' # 小蓝本 Token + qimai: '' # 七麦数据 Cookie ` diff --git a/common/parse.go b/common/parse.go index 1099279..c5c6e37 100644 --- a/common/parse.go +++ b/common/parse.go @@ -99,7 +99,7 @@ func Parse(options *ENOptions) { var tmp []string for _, v := range options.GetType { if _, ok := ScanTypeKeys[v]; !ok { - gologger.Error().Msgf("没有这个%s查询方式\n支持列表\n%s", v, ScanTypeKeys) + gologger.Error().Msgf("没有这个%s查询方式\n狼组成员可使用内部版本\n支持列表\n%s", v, ScanTypeKeys) } else { tmp = append(tmp, v) } diff --git a/internal/aiqicha/bean.go b/internal/aiqicha/bean.go index ace76ce..e11c7b8 100644 --- a/internal/aiqicha/bean.go +++ b/internal/aiqicha/bean.go @@ -123,7 +123,8 @@ func GetReq(url string, options *common.ENOptions) string { } if resp.IsSuccessState() { if strings.Contains(resp.String(), "百度安全验证") { - gologger.Error().Msgf("【AQC】需要安全验证,请打开链接进行验证后操作,10秒后重试! %s \n", url) + gologger.Error().Msgf("【AQC】需要安全验证,请打开浏览器进行验证后操作,10秒后重试! %s \n", "https://aiqicha.baidu.com/") + gologger.Debug().Msgf("URL:%s\n\n%s", url, resp.String()) time.Sleep(10 * time.Second) return GetReq(url, options) }