SSTImap 开源项目使用教程
1. 项目的目录结构及介绍
SSTImap 项目的目录结构如下:
SSTImap/
├── README.md
├── sstimap.py
├── config/
│ └── default.conf
├── modules/
│ ├── __init__.py
│ ├── scanner.py
│ └── utils.py
└── tests/
└── test_scanner.py
- README.md: 项目介绍文件,包含项目的基本信息和使用说明。
- sstimap.py: 项目的启动文件,负责初始化和调用其他模块。
- config/: 配置文件目录,包含项目的默认配置文件。
- modules/: 项目的主要功能模块,包括扫描器和工具函数。
- tests/: 测试文件目录,包含项目的单元测试。
2. 项目的启动文件介绍
sstimap.py
是项目的启动文件,主要负责以下功能:
- 解析命令行参数
- 加载配置文件
- 初始化扫描器
- 执行扫描任务
以下是 sstimap.py
的部分代码示例:
import argparse
from modules.scanner import Scanner
def main():
parser = argparse.ArgumentParser(description="SSTImap - SSTI Scanner")
parser.add_argument("-c", "--config", help="Path to configuration file", default="config/default.conf")
parser.add_argument("-t", "--target", help="Target URL to scan", required=True)
args = parser.parse_args()
scanner = Scanner(args.config)
scanner.scan(args.target)
if __name__ == "__main__":
main()
3. 项目的配置文件介绍
config/default.conf
是项目的默认配置文件,包含以下配置项:
[General]
timeout = 10
threads = 5
[Payloads]
payload1 = {{7*7}}
payload2 = <%= 7*7 %>
- General: 通用配置项,包括请求超时时间和线程数。
- Payloads: 包含用于检测 SSTI 漏洞的 payload。
配置文件使用 INI 格式,可以通过修改这些配置项来调整扫描行为。