fix(security): load_path不再注册CRUD生成的add/update/delete_*.dspy——它们是裸sor.C/U/D绕过发券引擎原子占额/审计流水只读/org隔离/状态守卫全部校验;只注册index.ui+get_*只读,写操作仅走wwwroot/api/有校验端点(UI editable URL已指向)。HTTP实测抓到:update/delete_voucher_usage_log.dspy登录态200可篡改审计流水。RBAC默认拒绝→未注册即401
This commit is contained in:
parent
9af312ccea
commit
0fbd0cab07
@ -62,15 +62,18 @@ PATHS_LOGINED = [
|
||||
f"/{MOD}/api/instance/voucher_invalidate.dspy",
|
||||
]
|
||||
|
||||
# CRUD 目录(框架生成,路径必须逐个注册)
|
||||
# CRUD 生成目录(框架生成):只注册 index.ui + get_*.dspy(只读)。
|
||||
# ⚠ 生成的 add/update/delete_*.dspy 一律【不注册权限】——它们是裸 sor.C/U/D,
|
||||
# 绕过全部业务校验(发券引擎原子占额/流水审计只读/org 隔离/状态守卫)。
|
||||
# 写操作只走 wwwroot/api/ 下有校验的端点(UI 的 editable URL 已指向它们)。
|
||||
# 文件虽被 xls2ui 生成(noedit 也生成),无权限行即 401(RBAC 默认拒绝)。
|
||||
# 2026-09-12 实测抓到的漏洞:统一注册四件套后 update/delete_voucher_usage_log.dspy
|
||||
# 登录态直接 200 可篡改审计流水——精确权限是防线,生成端点是攻击面。
|
||||
for alias, tbl in CRUD_DIRS.items():
|
||||
PATHS_LOGINED += [
|
||||
f"/{MOD}/{alias}",
|
||||
f"/{MOD}/{alias}/index.ui",
|
||||
f"/{MOD}/{alias}/get_{tbl}.dspy",
|
||||
f"/{MOD}/{alias}/add_{tbl}.dspy",
|
||||
f"/{MOD}/{alias}/update_{tbl}.dspy",
|
||||
f"/{MOD}/{alias}/delete_{tbl}.dspy",
|
||||
]
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user