在这个靶机中其实还存在另外一个漏洞,利用这个漏洞也可以提权。要实现同一个目的,往往有很多不同的方法,对每一种方法我们都要尽可能掌握。
这个漏洞就是数据库配置文件。
我们首先回顾一下之前在搭建DVWA网站时曾修改过的数据库配置文件dvwa/config/ config.inc.php:
在这个文件中我们需要将db_password修改为自己给MySQL的root用户设置的密码。
MySQL的管理员也叫root,但与Linux系统中的root并不是同一个账户,只是同名而已。MySQL的root密码是由我们执行mysqladmin命令设置的:
# mysqladmin -u root password "123"
由于网站中的绝大部分数据都是保存在数据库中,所以网站必须要能够对数据库进行增删改查等操作,而要操作数据库,就必须得提供数据库的连接地址以及管理员账号和密码等信息,所以在大多数网站中都会有这样一个数据库配置文件,用于提供这些信息。
这个数据库配置文件毫无疑问具有很高的安全价值,所以如何查找数据库配置文件也是在shentou过程中一个比较重要的操作。
我们进入到靶机的网站主目录,可以看到存在一个config目录,里面就存放了网站的数据库配置文件。
这个靶机中的网站比较小,这里无需查找就直接看到了数据库配置文件,而其中就有root用户的密码ctf_pasti_bisa。
利用获取到的账号和密码就可以登录MySQL:
当然对应这个靶机而言,登录到MySQL并无法实现提权,也无法拿到flag1。但是我们依然可以使用撞库的思路:系统管理员是否有可能把系统root账号的密码也设为了跟MySQL的root账号同样的密码?所以我们可以尝试用刚才获取的密码来切换到系统root用户,果然成功切换:
这样再次通过撞库漏洞,成功实现提权。
对于这个靶机,撞库是一个着重涉及的漏洞。与撞库相关的弱口令漏洞,虽然没有什么技术含量,但却是在实践中屡见不鲜的高危漏洞,在shentou测试的过程中,我们也都可以优先去尝试是否存在这类漏洞。