top of page
作家相片Samuel

Nmap NSE Category vulns Script:http-vuln-cve2012-1823 偵測 PHP-CGI 漏洞 (CVE-2012-1823)

已更新:8月26日


Nmap Script指令摘要


偵測對 CVE-2012-1823 有漏洞的 PHP-CGI 安裝,這個重要漏洞允許攻擊者擷取原始程式碼並遠程執行程式碼。


該指令是通過將 "?-s" 附加到 URI 以使有漏洞的 PHP-CGI 處理程序返回具有語法突出顯示的原始程式碼。我們使用模式 "<span style=.*><?" 來偵測有漏洞的安裝。


此指令試圖透過修改 URI 以獲取原始程式碼,以檢測 PHP-CGI 安裝是否容易受到遠程攻擊;如果伺服器返回帶有語法突出顯示效果的原始程式碼,則表示可能存在漏洞,允許攻擊者擷取原始程式碼並遠端執行程式碼,此工具的目的是協助管理員識別並修補潛在的安全漏洞。


Nmap Script指令參數

http-vuln-cve2012-1823.uri

用於設定要測試的 URI (統一資源識別碼) 參數,預設情況下為 "/index.php",這表示工具將嘗試測試位於網站根目錄下的 "index.php" 檔案是否容易受到 CVE-2012-1823 漏洞的影響。您可以根據實際情況,使用這個參數來指定要測試的不同 URI,以確保您的網站不容易受到這個特定漏洞的攻擊,例如,如果您的網站上有一個名為 "vulnerable.php" 的檔案,您可以將 URI 設定為 "/vulnerable.php",以測試該檔案是否容易受到攻擊。

http-vuln-cve2012-1823.cmd

用於設定要在測試中執行的命令的參數,預設情況下為 "uname -a",這是一個用於檢查系統資訊的常見命令;這個參數允許您指定在檢測 CVE-2012-1823 漏洞時要執行的不同命令,您可以根據需要更改此命令,以執行其他操作或檢查其他系統資訊,例如,您可以將它設定為 "whoami" 以查看正在執行此命令的使用者,或者設定為其他命令以執行自定義操作。

slaxml.debug

是用於設定是否要啟用 slaxml 函式庫的偵錯模式,當偵錯模式啟用時,slaxml 函式庫會生成額外的偵錯訊息,以協助您除錯 XML 處理的代碼;偵錯模式通常用於開發或除錯 XML 處理程序,它可以幫助您追蹤 XML 資料的處理流程,檢查是否有任何錯誤或問題,這對於確保應用程式能夠正確處理各種不同的 XML 資料是非常有用的;如果您需要詳細的資訊或使用方法,建議參考 slaxml 函式庫。

http.host, http.max-body-size, http.max-cache-size, http.max-pipeline, http.pipeline, http.truncated-ok, http.useragent

這些參數可以根據需求調整,以達到更好的 HTTP 請求和回應控制,詳細的用法和設定方式可以參考 http 函式庫。

  • http.host:用於指定 HTTP 請求的目標主機名或 IP 位址。

  • http.max-body-size:設定 HTTP 回應的最大主體大小,超過此大小的主體將被截斷。

  • http.max-cache-size:設定 HTTP 回應暫存的最大大小,超過此大小的回應將不被暫存。

  • http.max-pipeline:設定允許的 HTTP 通道(pipeline)的最大數量。

  • http.pipeline:控制是否使用 HTTP 通道請求,啟用後可以提高請求效率。

  • http.truncated-ok:用於設定是否允許接收截斷的 HTTP 回應,當設定為 "ture" 時,表示允許接收部分回應。

  • http.useragent:用於指定 HTTP 請求的 User-Agent 表頭,即用戶代理字串,以模擬特定用戶代理的存取。

smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername

用於設定和控制對 SMB 服務的存取和身份驗證,您可以根據需要來設定這些參數以實現所需的 SMB 認證,詳細的用法和設定方式可以參考 smbauth 函式庫。

  • smbdomain:SMB 網域名稱(Domain),用於指定 SMB 認證所屬的網域。

  • smbhash:SMB 哈希(Hash),用於指定已知的 SMB 密碼哈希。

  • smbnoguest:不使用 SMB 的 guest 帳號,當設定為 "true" 時,表示禁止使用 "guest" 帳號。

  • smbpassword:SMB 密碼(Password),用於指定 SMB 認證的密碼。

  • smbtype:SMB 類型(Type),用於指定 SMB 認證的類型。

  • smbusername:SMB 使用者名稱(Username),用於指定 SMB 認證的使用者名稱。

vulns.short, vulns.showall

用於指定漏洞掃描和報告的顯示方式,以便根據需要獲得相應的漏洞資訊,詳細的用法和設定方式可以參考 vulns 函式庫。

  • vulns.short:用於控制是否顯示簡短的漏洞資訊,當設定為 "true" 時,可能會以簡短的方式顯示已發現的漏洞資訊,包括漏洞的名稱、風險等級等。

  • vulns.showall:這個參數可能用於控制是否顯示所有已發現的漏洞,包括那些低風險或資訊性質的漏洞;當設定為 "true" 時,可能會顯示所有漏洞報告,而不僅僅是高風險的漏洞。


Nmap Script指令範例

nmap -sV --script http-vuln-cve2012-1823 <target>
nmap -p80 --script http-vuln-cve2012-1823 --script-args http-vuln-cve2012-1823.uri=/test.php <target>

Nmap Script指令輸出

PORT   STATE SERVICE REASON
80/tcp open  http    syn-ack
| http-vuln-cve2012-1823:
|   VULNERABLE:
|   PHP-CGI Remote code execution and source code disclosure
|     State: VULNERABLE (Exploitable)
|     IDs:  CVE:2012-1823
|     Description:
|       According to PHP's website, "PHP is a widely-used general-purpose
|       scripting language that is especially suited for Web development and
|       can be embedded into HTML." When PHP is used in a CGI-based setup
|       (such as Apache's mod_cgid), the php-cgi receives a processed query
|       string parameter as command line arguments which allows command-line
|       switches, such as -s, -d or -c to be passed to the php-cgi binary,
|       which can be exploited to disclose source code and obtain arbitrary
|       code execution.
|     Disclosure date: 2012-05-03
|     Extra information:
|       Proof of Concept:/index.php?-s
|     References:

Nmap Script作者

Paulino Calderon <calderon@websec.mx> Paul AMAR <aos.paul@gmail.com>

License: Same as Nmap--See https://nmap.org/book/man-legal.html


Nmap
Nmap


 

延伸閱讀

6 次查看
bottom of page