aws与vulhub(五)

参考资料:https://vulhub.org/#/docs/

上一篇:docker compose与vulhub(四)

上一篇我们讲了在本地kali大家vulhub,但是受本地网速、硬盘存储空间所限,不能达到理想效果。

而在亚马逊云使用vulhub,网速可以达到近20MB/s,可以在数秒之内完成docker实例的搭建,不可以不谓之理想。

下载安装在之前讲过,这里省略。

1
2
3
4
5
6
7
8
9
10
11
//cd 漏洞目录,例如
cd /usr/share/vulhub-master/struts2/s2-005
/usr/share/vulhub-master/tomcat/CVE-2017-12615
//搭建docker实例
docker-compose build

//开启docker实例
docker-compose up -d

//测试docker实例是否开启了web服务
curl http://127.0.0.1:8080

遇到的错误

提示端口已经被使用时,修改yml文件,端口修改为8080。然后使用rinetd,将本地端口转发到外网可访问端口。问题解决。

端口转发工具rinetd

1
2
3
4
5
6
7
8
apt-get install rinetd
vi /etc/rinetd.conf

0.0.0.0 8080 外网IP 8080
//末尾添加这一行

pkill rinetd ##关闭进程
rinetd -c /etc/rinetd.conf ##启动转发

这样配置以后,访问http://外网IP:8080相当于访问http://127.0.0.1:8080

tomcat put方式上传webshell

使用curl可以直接上传一个html文件,但是不能上传jsp文件。

使用burp repeater,修改两个参数,PUT参数,22.jsp后面要加一个斜杠。因为linux的文件名不支持斜杠,而web服务器会忽略文件最后的斜杠。

在图片中201 Created 是一个代表成功的应答状态码,表示请求已经被成功处理,并且创建了新的资源。

用文件末尾加/的方式,成功上传了webshell。