某小型CMS漏洞复现审计

打印 上一主题 下一主题

主题 907|帖子 907|积分 2721

SQL注入

漏洞复现:

[img=720,246.06156274664562]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657448.png[/img]

登陆后台,点击页面删除按钮,抓包:

rid参数存在sql注入,放入sqlmap检测成功:
[img=720,355.7379636937648]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657450.png[/img]

代码分析:

Ctrl+Shift+F检索路由:
[img=720,289.451287793953]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657451.png[/img]

定位具体代码,为删除功能:
[img=720,366.025]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657452.png[/img]

[img=720,387.35562310030394]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657453.png[/img]

发现deleteByIds调用了传参rid,跟进:
[img=720,600.8540925266904]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657455.png[/img]

发现进入Dao层,此处依旧调用的deleteByIds,于是找ICommonDao接口实现类:
[img=720,359.7080291970803]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657456.png[/img]

[img=720,594.4954128440367]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657457.png[/img]

定位到该类,发现以ids参数担当原先用户传入的rid参数,并在new一个sql对象后,直接将ids参数举行拼接,并通过原生jdbc执行返回结果。
【----帮助网安学习,以下全部学习资料免费领!加vx:dctintin,备注 “博客园” 获取!】
 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权势巨子CISSP 认证测验指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)
模板注入

内容管理-文件管理-themes-flatweb-about.html,选择编辑,插入payload:
${value("calc.exe")}
[img=720,385.3803339517625]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657458.png[/img]

访问首页,点击关与我们:
[img=720,450.24793388429754]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657459.png[/img]

执行下令,弹出盘算机:
[img=720,547.5184275184275]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657460.png[/img]

代码分析:

配置文件存在freemark
[img=720,215.4158215010142]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657461.png[/img]

文件上传

漏洞复现:

这个CMS感觉上传文件路径不是很好找,以是上传时先找个合适的目次再点击上传文件。
文件管理处点击admin进入目次:
[img=720,358.3255813953488]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657462.png[/img]

再点击文件上传:
[img=720,267.6666666666667]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657463.png[/img]

通过上传jsp马,不外需要以jspx或者jspf后缀绕过上传。
[img=720,483.48284960422166]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657464.png[/img]

代码分析:

上传时抓包,根据路由全局搜索:
[img=720,305.2676659528908]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657465.png[/img]

定位到具体代码段:
[img=720,509.31297709923666]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657466.png[/img]

用filePath参数担当path参数与file参数拼接,再从filePth参数中取出文件名赋值给fname参数。
跟进getSuffix:
[img=720,388.0132450331126]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657467.png[/img]

发现只是以简朴点来获取后缀。
检测是否为jsp文件后,如果不为则进入为空判断,并以FileOutputStream与write直接上传写入。
[img=720,354.0767824497258]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657468.png[/img]

[img=720,441.3157894736842]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657469.png[/img]

恣意文件删除

漏洞复现:

上传jsp马后,点击右方删除文件,抓包。
[img=720,369.504400185271]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657470.png[/img]

将下方数据包改为admin上级目次,删除我先前上传但没找到路径的test.jspx文件,删除成功:
[img=720,413.9885130823229]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657471.png[/img]

代码分析:

根据数据包在IDEA全局搜索,定位到delete代码段:
[img=720,210.79107505070994]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657472.png[/img]

该方法吸收三个参数:path、name 和 data,这些参数通过 \@RequestParam注解从请求中提取,并举行简朴拼接,赋值给file对象,此时file对象代表实际的文件名称。
跟进delete方法:
[img=720,339.2461197339246]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657473.png[/img]

发现对传入的path参数举行了检查,继续跟进:
[img=720,397.38872403560833]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202411011657474.png[/img]

发现仅仅采用java自带的类java.security.AccessController下的checkPermission(Permissionperm)静态方法校验权限。
如果权限满足便直接通过fs.delete()方法删除,造成恣意文件删除漏洞。
更多网安技能的在线实操练习,请点击这里>>
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表