← Quay lại danh sách

php2s Hell-aurt: Windows sử dụng exe, Linux, py, 10 phút để tìm ra PHP.

itadol5j

Không phải về sự uốn cong. Đó là tất cả về gõ cửa:Nạp công cụ, máy móc, làm sạch mục tiêu, đọc kết luận, quyết định có nên vá hay khôngMột con rồng. 10 phút nữa kết thúc.

Thứ nhất, CVE-26-109618 và CVE-26-9619 là mã RCE trái phép cho chính động cơ PHP, phiên bản chính thức được phục hồi là 8.3.36 / 8.27.27 / 8.5.12. Hai ống đạn...PHP chính thức CVSS 4.0 nhịp 9.2, NVD CVSS 3. 1 nhịp 9.89.8 trong tiêu đề là cái thứ hai, và cả hai đều đề cập đến cùng một lỗ hổng hai trên một, không nghĩ rằng nó khác nhau.

Đây là các công cụ:NameApache-2.0, chỉ hôm nay thôi. Nó làm hai việc: kiểm tra những gì PHP được cài đặt trên máy này, quét phiên bản chưa được khám phá của cơn bão xa.Nó không tấn công giao thông, không viết đĩa, không thay đổi bất kỳ cấu hình nào.Và đó là những gì tôi đã kiểm tra trong mã nguồn, và chế độ từ xa thực sự chỉ gửi một yêu cầu HSAD cho một đầu đáp ứng.

Hiệu ứng chạy của thiết bị cuối php2st-udit

2 cách để thấy hệ thống nào.

Linux / MacOS đi Python, không có phụ thuộc, thư viện chuẩn là đủ, không có ống dẫn để nạp bất cứ thứ gì:

git clone https://github.com/viviopenclaw-code/php2shell-audit.git
cd php2shell-audit
chmod +x php2shell_audit.py
python3 php2shell_audit.py --local

Cửa sổ đi thẳng vào phần cũ, không có Python. Chụp trên trang phát hành php2shell-audit.exe:

certutil -hashfile php2shell-audit.exe SHA256
php2shell-audit.exe --local

Hiện là một chương trình giao diện tập tin duy nhất mà Win10/11 x64 có sẵn,Không có mật mã.Vì thế cuộc chạy đầu tiên cho chương trình Smart La Mã sẽ dừng lại. Hãy chạy đầu tiên. SHA256SUMS.txt Một lần nữa — bước này là bước mà không ai được chạm vào “bản dịch xanh đang được phát hành trên mạng.

Hai phiên bản giống nhau. Chỉ có một bộ ở phía sau của hướng dẫn, Windows. python3 php2shell_audit.py Thay thế php2shell-audit.exe Cứ làm đi.

Các phương pháp cài đặt Linux và Windows

Có chuyện gì vậy?

python3 php2shell_audit.py --local

Nó sẽ làm 4 việc:

  1. Tìm PHP.:/usr/bin/php*Tôi không biết./usr/sbin/php-fpm*Tôi không biết./opt/*Tôi không biết./usr/lib/php/*/sapi/*Homebrew cũng tính. Cửa sổ, xem này. C:\phpPHP dưới XAMPP, WAMP, Laragon, Chocolatey, Scrop, Tập tin Chương trình.
  2. Phiên bản đọcChạy php -v Lấy Banner, với 8.35 / 8.3.36 / 8.4.27 / 8.5.12.
  3. Kiểm tra cấu hình: phân tích các hướng dẫn giảm tốc tạm thời trong php.ini.
  4. Tiến trình cột: Liệt kê tất cả các tác vụ cần khởi chạy lại sau khi vá.

Tôi chạy qua một cái máy mà không có tín hiệu. Đây là kết xuất:

php2shell-audit 1.1.0 - local audit
Host    : admin
System  : Linux 7.0.0-30-generic (x86_64)
------------------------------------------------------------------------
[UNKNOWN] No PHP installation detected.
------------------------------------------------------------------------
php.ini mitigation directives
[WARNING] session.upload_progress.enabled = (unset)  (recommended 0)
[WARNING] fatal_error_backtraces = (unset)  (recommended 0)
[WARNING] expose_php = (unset)  (recommended 0)
------------------------------------------------------------------------
Running services that must be restarted after patching
[INFO] apache2 - 3 process(es)
------------------------------------------------------------------------
[INFO] No PHP binary, FPM daemon or Apache PHP module was found on this host.
------------------------------------------------------------------------
Remediation
[UNKNOWN] No PHP install was audited, so nothing can be confirmed safe.

Xem dòng cuối cùng:Không có PHP, không có PSS.Thiết kế này được công nhận rất rõ ràng -- không có vấn đề gì với việc tìm kiếm bất cứ thứ gì. Hai thứ khác nhau.

Nhân tiện, nó có liên quan. expose_php Tất cả. Cái này không liên quan gì đến lỗ hổng, nhưng nó là một quyết định trực tiếp về việc quét từ xa có thể đọc số phiên bản của bạn hay không.Tắt nó đi. Dấu vân tay của kẻ tấn công bị mù một nửa.Tôi không biết. Tất nhiên, nó không phải là sửa chữa, nó được gọi là giảm sự phơi nhiễm thông tin.

III. Tham số

Comment
Tham sốNhiệm vụMặc định
--local / --remoteHai hoặc một, chúng tôi quyết định kiểm tra máy hoặc mục tiêu.Cần thiết
--file targets.txtMục tiêu batch, một trong một hàng, # bắt đầu với chú thíchKhông có
--workers NSố vòng lặp dài10
--json report.jsonHoàn tất xuất JSON,- Bật lên stditKhông có
--timeout NThời hạn yêu cầu đơn (sec)8
--insecureBỏ qua sự xác thực USD, chỉ cho vân tayĐóng

Mã thoát:

ThoátNghĩa là
0Phiên bản không bị ảnh hưởng
2Người ta tìm thấy ít nhất một phiên bản bị ảnh hưởng.
1Lỗi trên chính công cụ (v. d. JSON không thể ghi)

Thoát số hai, đây là điểm.Nó có nghĩa là bạn có thể đặt nó trong dòng chảy, quét qua giai đoạn xây dựng, nhấn nó, và không chờ cho con người tìm thấy nó.

Nạp từ xa quét: –remote cách

# 单个目标
python3 php2shell_audit.py --remote example.com

# 批量,20 个并发,出 JSON
python3 php2shell_audit.py --remote --file targets.txt --workers 20 --json out.json

# 也可以直接写在命令行里
python3 php2shell_audit.py --remote https://a.example 10.0.0.5

Cái gì? Ghi

# production fleet
example.com
https://shop.example.net
10.0.0.5:8080

# Bắt đầu với một lời nhắn, một dòng, một trong kho hàng targets.example.txt Có thể sao chép trực tiếp.

Nó gửi cái gì?

Mọi mục tiêu.Chỉ gửi một yêu cầu HSADChỉ một lần duy nhất máy phục vụ sẽ từ chối HD. Và đọc nó. Server:Tôi không biết.X-Powered-By: và Set-CookieRa khỏi đó đi. PHP/x.y.zTôi không biết.

Không đa phần, không thân hình to lớn, không OOOO, không sử dụng sau.Nó đã chết trong thư gốc như một thiết kế ép buộc.Không phải ngẫu nhiên.

Giá phải rõ ràng:Chế độ từ xa không chứng minh khả năng sử dụngNó chỉ có thể báo cáo thông tin rằng máy chủ tự nguyện nhổ ra. Giấu mục tiêu của số phiên bản, và kết quả luôn là UNKNOWN.

V. Làm thế nào để đọc kết luận

Có 3 kết luận
[VULNERABLE] https://shop.example.net
         http    : 200
         server  : Apache/2.4.62 (Debian)
         powered : PHP/8.4.16
         php     : 8.4.16
         verdict : PHP 8.4.16 < fixed 8.4.27
  • [VULERable] Bản dịch này được đọc và dịch thấp hơn bản được phục hồi.
  • [PSSSS] Bản dịch này được đọc và có giá trị hơn hoặc bằng bản được phục hồi.
  • [WARNING] Chỉ thị tạm thời giảm nhẹ không được đặt ra như đề nghị.
  • [UNKNOWN] Không đủ bằng chứng.Không an toàn, không biết.

Sự khác biệt này là nơi toàn bộ công cụ có giá trị nhất. Hầu hết các máy quét chỉ cho bạn màu đỏ, vàng và xanh lá cây, và rồi bạn nghĩ nó ở khắp màn hình.UNKNOWN cần phải được xem xét để làmHoặc tắt phiên bản bị ẩn, chạy trong container -- địa phương, hoặc đăng nhập vào máy.

Sáu, bốn cái hố, cái này nhiều hơn cái kia.

4 nốt dùng php2st-udit

Ống 1: Không có gì

Máy ẩn số phiên bản sẽ luôn báo cáo về UNKNOWN. Chỉ cần chắc chắn nó nằm trên máy chủ. --localTôi không biết.

Không được phép thả.

Debian / Ubuntu / RHEL / Alpine thường xuyên gọi điện trong các đắp vá an toàn nhưngKhông nhảy số phiên bảnTôi không biết. Kết quả là máy đã hoàn thành, như nó xuất hiện.

Nên đừng hoảng sợ cho đến khi thấy màu đỏ.

apt changelog php8.4
rpm -q --changelog php-8.4 | head -50

Bước này, hoặc không làm được điều đó, sẽ chỉ là một sự leo thang; nó cũng sẽ là một tính toán sai lầm, đó là thực sự cần thiết để nâng cấp.

Cái hồ 3: Một HSAD cũng được yêu cầu

Nó sẽ nằm trong nhật ký của nhau, và nó sẽ được viết ra bởi WAF. Quét mà không có giấy phép viết là tự nhiên một sự phát hiện trái phép - một điều luật như CFAA, Anh Quốc CMA 1990.

Tôi cần giấy phép dọn sạch tài sản của công ty.Đặc biệt là các tài khoản dựa trên mây. Đừng nghĩ, "Tôi chỉ nhìn vào đầu đáp ứng" không tính.

Chỉ kiểm tra cái máy thôi.

PHP chạy trong container, chạy trong container, hoặc sử dụng nó trên vật chủ. --remote Cái cảng đã được lập bản đồ. Chủ nhà chạy. --local Nếu bạn không thể tìm thấy PHP trong container, bạn sẽ có UKNNNNN -- UNKNOWN thực sự không biết, không phải container là an toàn.

Bảy, tìm ra vấn đề rồi sao?

Đắp vá là cách duy nhất sửa xong.Phần còn lại đang chảy máu.

# Debian / Ubuntu
sudo apt update && sudo apt install --only-upgrade php

# RHEL / Fedora
sudo dnf upgrade 'php*'

# Alpine
sudo apk upgrade php83 php84

Nâng cấp: 8.2 chi nhánh tới 8.2.358,3 đến 8.3.36Là 8.4. 8.4.27Là 8.5. 8.5.12Tôi không biết. 8,1 và hơn nữa, chỉ có báo cáo cấp nguồn.

Nếu bạn không thể có được một miếng vá, làm những điều này đầu tiên, sau đó bắt đầu lại tất cả.

; CVE-2026-109619
session.upload_progress.enabled = 0

; CVE-2026-109618
memory_limit = -1

; 仅 PHP 8.5
fatal_error_backtraces = 0
  • session.upload_progress.enabled=0 Để được viết bằng php.ini, FPM công cụ hoặc cấu hình máy chủ,Nó phải hiệu quả trước yêu cầu.Tôi không biết. Quá muộn rồi.
  • memory_limit=-1 Tôi cần nó. php_admin_value Thiết lập cấp độ của ứng dụng không thay đổi, trong khi bảo đảm rằng không có hồ bơi/ thư mục/ ứng dụng để phục hồi giá trị giới hạn.
  • Đừng bao giờ dùng RLIMTA hoặc RLIMT DATA- Hai cái đó sẽ làm cho Bản đồ thất bại và chỉ cần quay lại con đường dài nguy hiểm đó.
  • Thay đổi phải khởi chạy lại mọi công nhân:systemctl restart php*-fpm apache2 nginxTôi không biết.Không có khởi động lại nào là không thay đổi.

Không ai trong số bốn người này có thể làm cho bạn an toàn, và chính nhà chức trách cũng khá rõ ràng. Họ chỉ có một giá trị duy nhất:Trước khi băng lại, hãy che cửa lại.

VIII. Một chuỗi hoàn chỉnh

  1. Kiểm tra bản thân trước đã.:--local3 hay 5 giây, xem phiên bản và cấu hình.
  2. Quét từ xaChuyện lớn đấy.--remote --file Và chạy, ra khỏi JSON.
  3. Xử lý phân loạinâng cấp không thể chấp nhận được, báo động bổ sung, nhận diện UKNWN --Nó không đóng cửa, nó phải được thực hiện.
  4. Nâng cấp + khởi động lại công việc: Patches, và sau đó khởi động lại tất cả FPM/ Apache/ nginx.
  5. Xác thực tải lạiChạy lại, xác nhận xanh. Xem lỗi cổng ngược và xem bản ghi thay đổi nếu cần thiết.
  6. Vào dòng nước đi.Thoát khỏi Điều 2 trực tiếp thất bại xây dựng, và lần sau sẽ không ai nhớ.

Toàn bộ quá trình là 10 phút, và thời gian thực là bước thứ ba.Kiểm tra đường dây Liên Hiệp Quốc.Tôi không biết. Nhưng điều đó sẽ không cứu được nó, bởi vì bỏ qua nó, bạn nhận được một báo cáo khá, giả, màu xanh lá cây.

Giá trị của máy quét không cho bạn đèn xanh, nó buộc bạn phải thừa nhận nơi bạn không biết.

Chơi lại địa chỉ dự án:Gythib.com/vipenclaw- code/php2 sold-uditTôi không biết. Đọc DSLAIMER. Trước khi nó được viết bằng tiếng Trung Quốc.

Câu cuối nhắc tôi rằng công cụ này là 1.1.0 ngày hôm nay, phiên bản công cộng đầu tiên, một cái nĩa không, một số nhỏ mã, bạn có thể đọc tất cả. php2shell_audit.pyTôi không biết.Nhìn mã nguồn đi., đặc biệt nếu bạn muốn đọc php.ini và danh sách tiến trình với quyền quản trị.