0x01背景
给的一个小程序,功能比较简单:
登陆的话,中文用户名(后来才知道的),所以按照常理来说,直接爆破,是需要蛮久的,毕竟还要知道该人员所在的分部门。
测试开始,常规porxifier+burp抓包:
0x02前台sql注入
前台登陆后发现个注入点,跑到了后台密码,但是加了salt,用hashcat跑了下弱口令,没跑出来,当前数据库用户也非dba。
一看就感觉是tp框架二开的,发现测试的域名为jcss.xxxxx.com,扫了一波目录,后台地址是backxxx,后台有一次性图形验证码,识别率不高,暴破比较难,又手试了一波弱口令,此路不通。
后面去查了下ip,是个阿里云,扫了下端口,发现只开了22,80,443,3306,8888。
0x03quake抓取旁站快照信息泄露+弱口令+getshell
既然是个云服务器,就想着先用hunter,fofa,quake去翻了下该ip历史的扫描信息,发现绑了很多域名,并且用quake看到了一张有意思的图。
这里直接看到开发留下的测试电话号码,是quake之前爬的记录。
但是现在访问无了:
这里就尝试了手机号+某弱口令,一发入魂,登陆进了前台:
猜了一下,后台肯定也是backxxx,然后手机号+某弱口令(普通用户,没啥功能点),admin+某弱口令,一发入魂:
找了个文件上传,一句话上去(但是无法绕过disable_functions),只能看当前站的目录文件,权限还比较低,到这就先把它放一边了:
0x04旁站1后台弱口令-》接管目标站后台
然后测着测着就新发现zt.xxxxx.com后台的弱口令,并且可造成jcss后台的登录绕过,即使用其他网站认证成功session即可登录该系统后台网站(PHP实现多服务器SESSION共享的锅?)
zt.xxxxx.com与jcss.xxxxx.com 属于统一ip,并且系统使用框架相同。
测试登录zt.xxxxx.com的backxxx后台存在弱口令(admin/xxxxxxxx)
但是jcss.xxxxx.com的admin账户密码并非xxxxxxxx,且未被破解出来。
首先登陆zt.xxxxx.com/backxxxx,并获取cookie:
将PHPSESSID=sf8pxxxxxxxxxxxxxxx69iml02bd4替换到https://jcss.xxxxxxx.com/并访问https://jcss.xxxxxxxxxx.com/Backxxxxx/Subject/Category/index.html,登录成功
0x04目标站后台getshell
在后台找了蛮多上传点,发现都有白名单校验,但是还是在一个神奇的功能点,碰上了为数不多的扩展名后缀可自定义的情况:
直接上传,无法上传:
添加ext,上传绕过:
Getshell,可控制所有站群:
一个没想通的点: