1. Docker 镜像获取及启动方法:
# 切换国内源 vim /etc/docker/daemon.json { "registry-mirrors": ["https://hub-mirror.c.163.com/"] } service docker restart # 拉取镜像 docker pull raesene/bwapp docker run -d -p 80:80 raesene/bwapp # 根据课程中的演示搭建好 bWAPP 实验环境后,以后再启动 bWAPP docker container list -a # 查看 container id docker start xxx # xxx 就是上一步获得的 container id,运行完这条命令后,访问响应的网址即可
2. 中国菜刀下载地址(保险起见,下载后请做 MD5 验证):
https://github.com/raddyfiy/caidao-official-version
3. shell.php 文件下载
https://github.com/geektime-geekbang/WebSecurity/tree/master/Chapter_2_code
如果你无法从 GitHub 正常下载课件及 Demo,请打开下方链接进行下载:
https://gitee.com/geektime-geekbang/WebSecurity
作者回复: 比如呢,Java 是编译型和解释型语言的结合体,不算脚本语言,但是也会存在文件上传漏洞。这个漏洞主要是对上传的文件审核不严格导致的,和后端是不是脚本语言没有关系。我想,你大概问的是webshell不能是binary这个问题吧,其实webshell也可以是binary的,也就是编译之后的产物,https://security.tencent.com/index.php/blog/msg/104,这里就演示了一种binary形式的webshell。目前之所以我们遇到的大部分都是脚本webshell,是因为后端程序主要是脚本来构建的,如果后端是通过C++来构建的应用程序,其实我们也是可以上传一个so或者dll文件用作webshell也是可行的。
作者回复: 镜像貌似不在了,采用以下方法叭😊: 配置Docker加速: vi /etc/docker/daemon.json 添加: { "registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"] } 重启Docker: systemctl daemon-reload systemctl restart docker Docker镜像获取方法: docker pull raesene/bwapp docker run -d -p 80:80 raesene/bwapp
作者回复: 镜像貌似不在了,采用以下方法叭😊: 配置Docker加速: vi /etc/docker/daemon.json 添加: { "registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"] } 重启Docker: systemctl daemon-reload systemctl restart docker Docker镜像获取方法: docker pull raesene/bwapp docker run -d -p 80:80 raesene/bwapp
作者回复: 从webshell->反弹sys shell,发散思维,赞👍
作者回复: 上传的文件夹是docker内部,可以通过docker exec -it 指令与docker交互,然后找到目标路径,docker的volume有专门的存储地址,并且需要docker解析,和虚拟机很像,所以shell.php在PC上是找不到的。
作者回复: 从功能上,后端如果是java的话,也是可以做webshell的,比如java EE服务器可以用war包,jsp服务器可以直接做jsp webshell。关于带js的html,确实是可以做一些事情,但是如果已经可以上传webshell的情况下,其实权限已经比较高了,传webshell要更好一些,XSS就是修改前端代码的一种攻击方式,这部分我们后面会有专题来讲。
作者回复: 镜像貌似不在了,采用以下方法叭😊: 配置Docker加速: vi /etc/docker/daemon.json 添加: { "registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"] } 重启Docker: systemctl daemon-reload systemctl restart docker Docker镜像获取方法: docker pull raesene/bwapp docker run -d -p 80:80 raesene/bwapp
作者回复: 镜像貌似不在了,采用以下方法叭😊: 配置Docker加速: vi /etc/docker/daemon.json 添加: { "registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"] } 重启Docker: systemctl daemon-reload systemctl restart docker Docker镜像获取方法: docker pull raesene/bwapp docker run -d -p 80:80 raesene/bwapp
作者回复: 镜像貌似不在了,采用以下方法叭😊: 配置Docker加速: vi /etc/docker/daemon.json 添加: { "registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"] } 重启Docker: systemctl daemon-reload systemctl restart docker Docker镜像获取方法: docker pull raesene/bwapp docker run -d -p 80:80 raesene/bwapp
作者回复: 镜像貌似不在了,采用以下方法叭😊: 配置Docker加速: vi /etc/docker/daemon.json 添加: { "registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"] } 重启Docker: systemctl daemon-reload systemctl restart docker Docker镜像获取方法: docker pull raesene/bwapp docker run -d -p 80:80 raesene/bwapp