最近推送 2026-10-24 11:40(4 天前),属于活跃维护
assetnote/php2shell-scanner
GITHUB项目档案主语言 Python · 956 星 · MIT · 创建于 2026-10-22
High fidelity scanner for php2shell (CVE-2026-109618 and CVE-2026-109619)
仓库健康度
5 个维度开放 Issue 2 个 · Fork 139 个
star 记录还不够天数,增量算不出来
许可证 MIT · 开了 Wiki
这一项暂无数据,不代表项目没有发布
「证据不足」表示这项数据暂时没有取到,不能读成「项目有问题」;「部分数据」表示只拿到一部分信号。版本发布要额外调 Releases 接口,下一版补。
Star 趋势
5 天记录横轴 2026-10-24 → 2026-10-28,纵轴按这段时间的最小/最大值拉伸。趋势来自站内每天记录一次的星数,页面打开时不会实时请求 GitHub。
README 原文细节
7 个板块怎么安装从零跑起来的步骤
Installation
pip install -r requirements.txt
怎么用最典型的用法与示例
Usage
python3 scanner.py -u https://example.com
环境与依赖跑它之前要准备什么
Requirements
- Python 3.9+
实现原理它内部是怎么做的
How It Works
The scanner sends a minimal multipart control request followed by up to three crafted multipart probes. The probes use PHP array keys nested 62 levels deep and increase from 1 MiB to 20 MiB, matching the detection logic used by Assetnote's internal scanner.
A target is reported vulnerable when the probe produces a PHP memory-exhaustion error, a differential empty HTTP 500, a PHP-FPM worker failure, or an advertised PHP version known to be unpatched. Initial 5xx responses, common request-rejection statuses, and nonempty HTTP 500 responses without the PHP fatal-error signature are not treated as crash signals.
The scanner tests /index.php by default. A path supplied in the URL is preserved, and --path or --path-file can test custom paths. phpMyAdmin targets are automatically retested at /showconfigerrors.php. Redirects are not followed unless --follow-redirects is set.
配置项能调整哪些参数
Options
-u, --url Single URL to check
-l, --list File containing hosts (one per line)
-t, --threads Number of concurrent threads (default: 10)
--timeout Request timeout in seconds (default: 60)
-o, --output Output file for results (JSON)
--all-results Save all results, not just vulnerable hosts
-k, --insecure Disable TLS certificate verification
--follow-redirects Follow HTTP redirects (up to 10 hops)
-H, --header Custom header (can be used multiple times)
-v,
限制与常见问题项目自己写明的坑与限制
Limitations
On specific PHP configurations, the scanner may report a false positive when its multipart probe exceeds PHP's memorylimit. Patched and vulnerable versions can then return the same empty HTTP 500 response.
This was reproduced on patched PHP 8.4.27 with memorylimit values from 2M to 32M, and on PHP 8.3.36 at 128M when maxmultipartbodyparts is set to 2785 or higher. The exact threshold may vary between builds.
When PHP does not disclose its version, the scanner cannot distinguish this safe post-patch OOM from the vulnerable pre-patch behavior. Results should therefore be verified against the installed PHP version and any vendor backports
其它说明README 里剩下的内容
SAPI Modes
The default --sapi auto mode applies both modphp and PHP-FPM verdict rules, matching the combined behavior of Assetnote's postmodules. Use --sapi modphp or --sapi fpm to restrict detection to a known SAPI.
Network Impact
Each tested path may receive a 42-byte control request and three probes totalling about 29 MiB. Probing stops as soon as the verdict is settled, and duplicate input URLs are scanned once.
Docker
Mount the current directory to read host lists and write results:
关于 php2shell-scanner 的常见问题
3 个问题php2shell-scanner 是做什么的?
assetnote/php2shell-scanner 是 GitHub 上的开源项目:High fidelity scanner for php2shell (CVE-2026-109618 and CVE-2026-109619)。
运行 php2shell-scanner 需要什么环境?
README 写明的依赖:Python 3.9+。
php2shell-scanner 现在还在维护吗?数据怎么样?
目前 956 星,139 个 Fork,主语言 Python,创建于 2026-10-22,最近一次推送 2026-10-24 11:40,许可证 MIT。星数、Fork、推送时间都是 GitHub 返回的实时数据,「最近推送」离现在越近说明越活跃;长期不动要留意是否已停止维护。
这些内容来自哪
读法说明项目数据取自 GitHub 官方接口与项目 README;星数、Fork、语言与时间以 GitHub 页面为准,档案更新于 2026-10-25 00:22。