简单记录一次注入到shell
0x00 前言
帮朋友之前拿的一个站,有点久了没有完整截图,简单记录一下。
0x01 基础信息
操作系统:win
集成环境:phpstudy
端口开放:82,3306,3389
有phpmyadmin
php框架:thinkphp 3
源码一套
tp开了报错,有网站绝对路径信息
0x02 尝试
拿到源码,代码审计发现了一个前台文件上传,一个后台登陆框的注入
文件上传把shell上传上去,访问报找不到控制器
猜测是被杀了或是没有创建成功
换了免杀马依旧一样,这个点暂时放弃,没弄明白。
由于源码比较简单,很多功能都在后台,只能把目光放在后台登陆框的注入了
常规思路,注出管理员账号密码登陆后台,但后台能拿shell地方也只有那一个上传了(有源码)
换思路利用phpmyadmin,直接尝试phpmyadmin弱口令root/root,登陆不进去(后续可以爆破)
通过注入发现mysql的本地用户是root,注出的密码解不出来
mysql版本为:5.5.53
phpstudy的mysql secure_priv 没改过默认就是NULL,udf啥的别想了
0x03 突破
重新回顾有的信息:
- 一个注入,支持多语句
- mysql外连
思考:如果可以外连上去,那么就可以尝试用general_log_file直接getshell了
通过注入修改user表允许外连的host为%,修改密码为root
但这样做需要重启mysql,但可以一试,尚有一线生机
很幸运,修改第二天再试发现可以直接连进去了
下面就是常规操作了
administror权限,直接添加了一个用户上去
最后就是3389登陆服务器了:
0x04 总结
多尝试总没错,思路要打开