欢迎提出宝贵建议、欢迎分享文章、欢迎关注公众号 OneMoreThink 。
目录
靶场下载地址:https://www.vulnhub.com/entry/election-1,503/
1. 侦查
1.1 收集目标网络信息:IP地址
靶机启动后,没有提供IP地址。由于Kali和靶机在同一个C段,可以扫描ARP协议获取靶机IP地址。
1.2 主动扫描:扫描IP地址段
对靶机进行全端口扫描、服务扫描、版本扫描,发现22/SSH、80/HTTP。
1.3 主动扫描:字典扫描
扫描网站路径,发现/phpinfo.php页面、/robots.txt页面、/phpmyadmin/目录。
在/robots.txt页面,发现几个目录,仅/election/目录能直接访问。
扫描/wordpress/和/election/目录下的目录和页面,仅/election/目录能扫描,发现/election/admin/、/election/admin/logs/等目录。
2. 初始访问
2.1 (一)有效账户:本地账户
/election/admin/logs/目录中的system.log文件,泄漏了一组帐号密码。
尝试在phpmyadmin站点、election站点、SSH服务登录,最后成功登录SSH服务,获得love用户权限。
2.2 (二)利用面向公众的应用
手工测试几个phpmyadmin站点的root用户的弱口令,成功登录后台。
查看secure_file_priv变量,是空值,可在任意目录写入文件。
在/phpinfo.php文件中,查看web根路径。
构造查询结果包含反弹shell代码的查询语句,并将查询结果写入到web根路径的文件中。
访问对应文件,从而触发执行,最终获得www-data用户权限。
值得一提的是,这台靶机 into outfile 导出数据方式写入的反弹shell文件,和 general_log 日志记录方式写入的反弹shell文件,文件权限竟然不一样,这导致了无法通过日志记录方式进行利用。
2.3 (三)利用面向公众的应用
在phpmyadmin后台,在election库的tb_panitia表,发现election站点的用户ID和密文密码。
密文密码解密后,可以登录election站点。
查询election漏洞,发现election后台的candidates功能处,编辑信息时后台会先查询信息再把信息给用户编辑,该查询信息的请求的参数id存在SQL注入漏洞。
构造查询结果包含反弹shell代码的查询语句,并利用SQL注入漏洞将查询结果写入到web根路径的文件中。
访问对应文件,触发执行,可以获得www-data用户权限。
3. 权限提升
以下提权操作,使用love用户权限或www-data用户权限都一样。
3.1 利用漏洞提权
意外发现系统中存在Serv-U程序
Serv-U程序存在漏洞,可用于提权
查看EXP,利用方式和利用原理都挺简单
上传EXP到目标服务器后,编译、赋权、执行,获得root用户权限。
原文始发于微信公众号(OneMoreThink):攻防靶场(42):导数据和写日志的webshell权限竟不一样 Election1
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论