实验环境
攻击机:172.20.10.5
靶机:172.20.10.6
实验流程
- 端口扫描
命令:nmap -p- IP地址
开放了21、22以及80端口
- 端口详细信息探测
命令:nmap -T4 -A -v IP地址
21端口对应的ftp服务使用的是vsftpd 3.0.2搭建的
80端口对应的Web服务器为Apache 2.4.7
- 21端口溢出漏洞探测
命令:searchsploit vsftp 3.0.2
vsftp 3.0.2并不存在溢出漏洞
- 网站详细信息探测
命令:nikto -host http://IP地址
发现敏感目录:/config.php、/login.php
- 访问敏感目录
/config.php页面和源代码均为空
/login.php为登录页面
- 尝试弱口令
并不存在弱口令的问题,但是用户名和密码不正确的情况下都会有一个弹窗,猜测前端代码应该做了限制 - 查看页面源代码
- 源代码中,通过js代码限制了邮箱必须以“@btrisk.com”结尾
使用户名为“xxx@btrisk.com”,密码任意进行登录,发现可以成功登陆,但是页面没有任何可用的内容
猜测以上页面可能不是真正的登录成功后的页面,同时结合前面登录页面做的限制——密码内容中不能包含单引号,尝试探测是否存在SQL注入漏洞
在密码中写入一个单引号,查看效果,登陆以后页面报警告信息
将登录密码修改成为xxx’ or 1=1 – -,成功登录,页面上有一个文件上传功能
- 查看页面源代码
前端通过验证文件后缀名的形式防御文件上传漏洞
- 目录爆破
获取到文件上传目录可能为/uploads
尝试上传一张图片,确认上传文件目录是否准确
- 上传木马,反弹shell
利用msfconsole监听端口
生成木马
将该内容写入到一个jpg文件中,上传该文件
利用BP抓包,修改文件名为shell.php,点击forward发送该请求
上传成功,点击访问该文件
获取shell
- 获取当前权限
- 优化shell
- 获取敏感信息
/config.php中存放了连接数据库使用的数据库用户名和密码
- 登录MySQL数据库查看敏感信息
尝试利用该信息切换到root用户