├── README.md ├── ai ├── root.go └── type.go ├── common ├── config.go ├── flag.go ├── parse.go ├── request.go ├── requests │ └── config.go └── utils │ ├── ExportExcel.go │ ├── fileutil.go │ └── gologger │ └── gologger.go ├── go.mod ├── go.sum ├── img ├── Pasted image 20220401194624.png ├── Pasted image 20220401195020.png ├── Pasted image 20220401195229.png └── Pasted image 20220401195416.png ├── main.go └── runner └── runner.go /README.md: -------------------------------------------------------------------------------- 1 | ## 更新说明 2 | 3 | ------------20230402------------ 4 | 5 | 1. 爱企查接口更新,参考ENScan_GO 6 | 7 | ------------20220615------------ 8 | 9 | 1. 适配linux系统,解决linux系统下不能输出问题 10 | 11 | # 参数说明 12 | 对ENScanPublic.exe进行二开(只保留爱企查接口),能对开业的分支公司、投资占比50%以上的公司进行递归查询!并对Domain和Title进行聚合整理! 13 | 14 | ***author :i11us0ry*** 15 | ***version :0.0.1*** 16 | 17 | Usage of AScan.exe: 18 | 19 | > -b bool 是否递归查询开业状态的分支公司 20 | > 21 | > -f string 包含公司名称的文件,公司名按行存储 22 | > 23 | > -n string 公司名称,最好是爱企查上公司对应的`完整名称` 24 | > 25 | > -s bool 是否递归查询对外投资50%以上的开业公司 26 | 27 | # 使用说明 28 | 首次使用先运行AScan.exe,会自动生成配置文件和保存目录。生成完配置文件后手动添加cookie,程序提示cookie过期或提示需要更新cookie时也需要更新cookie 29 | 30 | ![image](https://github.com/i11us0ry/AScan/blob/main/img/Pasted%20image%2020220401194624.png) 31 | 32 | 运行时根据需求输入参数即可 33 | 34 | ![image](https://github.com/i11us0ry/AScan/blob/main/img/Pasted%20image%2020220401195416.png) 35 | 36 | # 保存结果 37 | AScan会将查询结果分为两部分。 38 | 39 | 第一部分以查询公司、分支公司及对外投资公司为单位的xlsx表格。表格内容包括基本信息、网站备案、分支机构、微信公众号、对外投资、软件著作权信息(APP),方便红队和攻防中做备用计划 40 | 41 | ![image](https://github.com/i11us0ry/AScan/blob/main/img/Pasted%20image%2020220401195020.png) 42 | 43 | 第二部分为查询公司、分支公司、备案信息及对外投资50%以上公司的域名信息整合,方便快速扫描或做下一步信息收集 44 | 45 | ![image](https://github.com/i11us0ry/AScan/blob/main/img/Pasted%20image%2020220401195229.png) 46 | -------------------------------------------------------------------------------- /ai/root.go: -------------------------------------------------------------------------------- 1 | package ai 2 | 3 | import ( 4 | "AScan/common" 5 | "AScan/common/utils" 6 | "AScan/common/utils/gologger" 7 | "github.com/olekukonko/tablewriter" 8 | "github.com/tidwall/gjson" 9 | "github.com/tidwall/sjson" 10 | "github.com/xuri/excelize/v2" 11 | "os" 12 | "runtime" 13 | "strconv" 14 | "strings" 15 | "time" 16 | ) 17 | 18 | var ( 19 | Info common.Web 20 | ) 21 | 22 | func Init(info common.Web){ 23 | Info = info 24 | } 25 | 26 | // pageParseJson 提取页面中的JSON字段 27 | func pageParseJson(content string) gjson.Result { 28 | tag1 := "window.pageData =" 29 | tag2 := "window.isSpider =" 30 | //tag2 := "/* eslint-enable */