# springboot-scan **Repository Path**: burning2014/springboot-scan ## Basic Information - **Project Name**: springboot-scan - **Description**: 用于扫描springboot应用的高风险接口 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-06-17 - **Last Updated**: 2025-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 1 扫描工具说明 ​ 该工具使用python语言进行开发,主要用于扫描springboot应用程序默认或是框架自带的一些具有风险的接口。首先会读取配置文件里面列出的接口地址,然后使用多线程的方式对所有的接口进行扫描,扫描过程中会把没去请求的日志记录到日志中,扫描结束之后会生成html格式的报告。 ### 2 环境要求及参数配置 #### 2.1 环境要求 ​ 运行环境要求如下: - python版本:>= 3.8 - 平台:windows、linux - 其他依赖库:详情见requirements.txt ``` pip insall requirements.txt ``` #### 2.2 参数配置 ​ 主要有三个配置文件,位于config目录下面,均为yaml格式。 - config.yml:用于配置一些基本信息,如扫描接口是否需要登录,申明扫描接口的响应码等等。 - urls.yml:用于配置需要扫描的模块地址,如system模块,则需要配置http://ip:port/system/ - endpoints.yml:用于配置每个模块需要扫描的接口地址。 **PS** :urls.yml里面配置http或是https均可支持。 ​ 另外还有template目录下面的报告模板文件,如果需要修改报告的样式或是排版,可以修改该目录下的report_scan.html。如修改涉及到数据填充,则需要配合代码一起改才会生效。 #### 2.3 运行扫描工具 ​ 在工具根目录打开命令行,执行 ``` python springboot-scan.py ``` ​ 启动之后可见执行进度条,当进度条走完之后就表示扫描完成,如下图: ![输入图片说明](image1.png) ### 3 报告和日志 #### 3.1 运行日志 ​ 扫描的日志会保存在log目录下面,日志名称如:endpoint_scan_20230510134804.log。 #### 3.2 扫描报告 ​ 扫描完成之后会生成html格式的报告,报告模板是基于pytest的报告模板改的。报告保存在report目录下面,报告名称如:report-20230510135012.html。 ![输入图片说明](image.png)