某cms审计

前话

看到师傅们都在卷java,还在php挣扎的我好慌呀。。。

正文

上cnvd随便挑了个cms来练手,本来想复现下nday的,结果却有意外收获。

发现已经有4个提交了,这次除了sql实在是没找到,还多找到了若干任意文件读取、上传和删除等,均交了cnvd

一、任意文件删除

  • 后台附件管理处存在文件和图片管理:

点击删除得到请求:

图片[1]-某cms审计-孤勇者社区
修改请求path:

成功跨目录删除s.txt

其实可以看到这两个删除都没有什么限制:

  • 数据列表的数据备份处:

跟进delFile:

可以看出,通过post接受tb和name,tb用来配置初始化设置文件路径,name直接赋予文件名

成功跨目录删除

  • 后台模板在线编辑处:

editor模块下控制器存在delete_node:

通过$type来实现删除文件或目录

成功跨目录删除
这里路径需要通过template/../../的形式来回溯,若直接拼接路径,会返回错误:

二、任意文件读取

也是模板在线编辑处:
editor模块下控制器存在get_file:

可以实现任意文件读取

三、文件上传(若干处)

  • 后台插件管理处:
    和以前看过的某些cms一样,未对解压后的文件进行检测:

写个ss.php打包成zip上传

  • 后台模板管理处:
    和插件那里类似

写个ss.php打包成zip上传

  • 模板在线编辑处:
    editor模块下控制器存在create_node:

这利用和上面有个任意文件删除几乎一样,不多说了

  • 一处接口上传:
    editor模块下控制器中提供了一个上传的接口

这里直接写个上传:

拦截包修改成template/../../回溯形式:

返回:

达到上传目的

  • 修改安全配置上传
    这里可能存在许多上传点,这里只举一处例子:
    后台-栏目管理-分类管理处,可以编辑信息上传图片:

上传非png,jpg等图片格式时会报错,但是通过bp抓到了一个
POST /admin.php/base/imgupload.html 的请求
定位到base.php中的imgupload方法:

跟进allup:

看到白名单后缀从数据库表system_upset取出,
那么可以通过网站安全配置添加php后缀,达到利用

修改完后再发送请求,将后缀改成php,成功上传并返回路径

推断一开始那里可能只是个前端的验证,还有那个editor模块还是有好多东西的,有兴趣可以看看

结语

想学java审计,有没有师傅指点一下啊。。。

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 共2条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像的李0
    • 头像后洒0