PHP命令执行靶场搭建

安装教程:PHP命令执行

该文章为本人从0搭建靶场的过程(本文章只做资源整合,具体每一步我觉得视频和文章更详细,因此不会具体描述)(本人刚开始接触kali-linux,文章内容不免有些问题,敬请指正)。

安装kali-linux

如果已经安装了kali-linux可以跳过这个部分。

由于之前本人用虚拟机安装kali-linux碰到的问题过于多了最后成功了但没完全成功,因此采用了WSL2来搭建kali-linux。

[超详细的WSL教程:Windows上的Linux子系统(https://www.bilibili.com/video/BV1tW42197za/?spm_id_from=333.337.search-card.all.click&vd_source=3d9e793b3ade52daa18c644e09cfb1b5)

按照教程下载过程中如果碰到卡顿可以选择用梯子。

安装靶场

安装docker

如果已经安装了docker也可以跳过这个部分

检查docker是否已经安装docker version(安装好kali-linux之后可以直接运行这个检查一下,kali-linux可能自带了docker)

正常返回页面

安装docker正常返回页面

教程:如何在 Kali Linux 上安装和配置 Docker

修改docker镜像

如果已经修改了镜像可以从拉取镜像开始

进入root

输入cd /etc/docker(正常会进入docker文件夹)

进入后输入vim docker.json

再按一下i键即可进入编辑(vim使用教程可以参考这个【保姆级入门】Vim编辑器_哔哩哔哩_bilibili

尝试过橙子科技工作室给的镜像源,但不是很好用。寻寻觅觅之后找到了这么一大堆。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
"registry-mirrors" :
["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://dockerproxy.com",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/"
],
"insecure-registries" : [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"debug": true,
"experimental": false
}

复制粘贴之后,点击esc键,再输入:wq即可保存退出

安装镜像

输入docker pull mcc0624/cmd:latest即可下载

查看镜像

输入docker images

生成容器

1
sudo docker run -p 18022:22 -p 18080:80 -p 18081:81 -p 18082:82 -p 18085:85 -i -t mcc0624/cmd:latest bash -c '/etc/rc.local; /bin/bash'

事实上生成容器之后应该就可以直接使用了】,但是,我就卡在不知道如何使用上。(菜)

这里只要查看自己的ip就可以了(怎么看)

查看ip

如果是WSL2安装的kali-linux可以再打开一个页面直接输入**ifconfig**就会显示一大堆内容,

我选择的是图片所示的地方

etho: flag ....... inet xxxxxx netmask 类似于 172.18.97.107

ip地址

之后在Windows浏览器上搜172.18.97.107:8080即可打开靶场

docker命令

1
2
3
4
5
6
7
8
9
开启容器
docker start <容器id>
关闭容器
docker stop <容器id>
查看所有容器
docker ps-a <可查看容器id>
关闭容器
exit
如果退出之后重进只要docker start <容器id>即可

不同端口对应版本

1
2
3
80 ->5.0PHP
81 ->7.0PHP实验函数过滤绕过
8w ->7.3PHP

防炸主机小技巧

配好之后建议执行dpkg-reconfigure dash输入yes

再做盲注实验时重新输入命令改为no