Phase 3 — Authenticated Web Testing

Date: 2026-04-26 Authenticated as: dmitry.makarichev@corezoid.com (user_id 65281, is_super_user: true) HAR file: admin.corezoid.com.har (10 entries, 5 unique URLs) Session status: LIVE — confirmed by /auth/me replay returning 200 with user profile

Auth uses session cookies, not bearer tokens. Three cookies involved:

Key discovery: auth requires BOTH mw AND __Host_mw for POST endpoints, but some GET endpoints accept mw alone: | Endpoint | mw alone | Both cookies | |---|---|---| | GET /auth/me | ✅ returns profile + superuser status | ✅ | | GET /auth/me/state_changes | ✅ returns financial data | ✅ | | GET /system/conf | ✅ returns full config | ✅ | | GET /logout | ✅ logs out | ✅ | | POST /auth/me | ❌ {"redirect":"/enter"} | ✅ | | POST /api/2/json | ❌ {"proc":"error","description":"cookie or headers are not valid"} | ✅ |

Filed as CRZ-008 — Medium severity.

/api/2/json endpoint behavior

IDOR tests — DEFENSE HOLDS

Test Result
List companies user belongs to Returns full list (expected — CTO is member of several customer companies)
get company obj_id=<random_foreign_id> "User has no rights" (consistent, no ID enumeration leak)
get company obj_id=<non-existent> "User has no rights" (same error as above — no distinction)
list folder obj_id=<random> "Object folder with id X does not exist" (distinct error — mild info leak on ID enum)
Superuser bypass on company-scope ops "User has no rights"superuser role does NOT bypass company-level privs

The company/folder authorization is working correctly. No IDOR demonstrated.

Object-type enumeration (info-level)

The list endpoint leaks which obj names are valid via differential errors:

/system/conf exposed data

Authenticated GET returns:

Cross-origin test

Simulator mw HAR — essentially empty

mw.simulator.company.har had only 1 entry, which was a www.google-analytics.com/g/collect call. No useful mw.simulator.company API traffic was captured. Simulator-side authenticated testing is not possible from the provided HAR.

Notes for next phases