Log4j-Scan 项目使用教程
1. 项目的目录结构及介绍
Log4j-Scan 是一个用于检测 Log4J 远程代码执行漏洞(CVE-2021-44228)的自动化工具。以下是该项目的目录结构及其介绍:
log4j-scan/
├── log4j-scan.py
├── README.md
├── requirements.txt
└── ...
log4j-scan.py
: 项目的主启动文件,包含了主要的扫描逻辑。README.md
: 项目的说明文档,包含了项目的基本介绍、使用方法和示例。requirements.txt
: 项目依赖的 Python 库列表。
2. 项目的启动文件介绍
log4j-scan.py
是项目的主启动文件,负责执行扫描任务。以下是该文件的主要功能介绍:
#!/usr/bin/env python3
# coding=utf-8
import argparse
import random
import requests
import time
import sys
from urllib import parse as urlparse
import base64
import json
from uuid import uuid4
from base64 import b64encode
from Crypto.Cipher import AES, PKCS1_OAEP
from Crypto.PublicKey import RSA
from Crypto.Hash import SHA256
from termcolor import cprint
# 主要功能包括:
# 1. 解析命令行参数
# 2. 发送HTTP请求进行漏洞检测
# 3. 处理DNS回调
# 4. 输出扫描结果
3. 项目的配置文件介绍
Log4j-Scan 项目没有显式的配置文件,所有的配置都是通过命令行参数进行设置的。以下是一些常用的命令行参数:
$ python3 log4j-scan.py -h
usage: log4j-scan.py [-h] [-u URL] [-l LIST] [--request-type REQUEST_TYPE]
[--headers-file HEADERS_FILE] [--run-all-tests]
[--exclude-user-agent-fuzzing] [--wait-time WAIT_TIME]
[--waf-bypass] [--disable-http-redirects]
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL URL to scan
-l LIST, --list LIST File containing list of URLs to scan
--request-type REQUEST_TYPE
Request Type: GET or POST
--headers-file HEADERS_FILE
File with HTTP headers to use
--run-all-tests Run all available tests
--exclude-user-agent-fuzzing
Exclude User-Agent Fuzzing
--wait-time WAIT_TIME
Wait time after all URLs are processed (in seconds)
--waf-bypass Enable WAF Bypass Payloads
--disable-http-redirects
Disable HTTP redirects
通过这些参数,用户可以自定义扫描的目标、请求类型、使用的HTTP头文件等。
以上是 Log4j-Scan 项目的基本使用教程,希望对您有所帮助。