bbs-5.3代码审计

UWI Lv3

文件上传漏洞

所有的文件上传接口都存在文件上传绕过漏洞

漏洞成因

如果文件的Content-Type 为application/octet-stream 的话 就会进入getType方法

image-20250824154533379

这个方法是去文件的前几个字节然后转化成16进制与他的type数组里的16进制白名单进行对比image-20250824162724266

这是他的16进制白名单

image-20250824162943103

那么我们要想上传webshell 就需要达成两个条件

1
2
1. Content-Type: application/octet-stream
2. 文件前几个16进制内容必须符合白名单要求

我们用bp 16进制修改文件前几个内容为ffd8ff 符合白名单

image-20250824163223707

修改Content-Type为application/octet-stream

../../images/

可以看到webshell上传成功

image-20250824163430804

freemarker 注入

pom查看到使用了freemarker

image-20250824174844364

编辑一下文件

image-20250824174951225

输入弹计算机的payload

image-20250824174734822

可以看到一访问首页就弹出计算器了

image-20250824174809832

unzip 解压漏洞任意文件上传(没有复现成功)

不知道压缩包里怎么放包含..\的文件名

参考文章java代码审计系列第一弹——巡云轻论坛 - FreeBuf网络安全行业门户

  • Title: bbs-5.3代码审计
  • Author: UWI
  • Created at : 2025-08-23 17:06:03
  • Updated at : 2025-08-24 17:54:55
  • Link: https://nbwsws.github.io/2025/08/23/代码审计/bbs-5.3代码审计/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments