How 0x00c0ff33/medicare-portal-owasp works
MediCare Portal is a role-based healthcare portal and an OWASP Top 10 vulnerability demonstration: users can switch between vulnerable and hardened behavior with SECURE_MODE. The main workflow is registration or login, then role-specific dashboards and patient-care features such as appointments, records, messaging, search, uploads, and insurance verification. Admin tools provide user, audit, and portal oversight. The sampled files show authentication, shared helpers, configuration, appointments, chat, search, and uploads; README capabilities and the tree support several additional branches, but their internal calls are not inferred.
Main entry points: config.php Mode and access config · helpers.php Shared UI and helpers · schema.sql Portal database · login.php Login
Components 22
Identity and Access
- Portal entry
index.php - Login
auth/login.php - Registration
auth/register.php - Logout
auth/logout.php - Mode and access config
config.php
Patient Care
- Patient dashboard
patient/dashboard.php - Patient records
patient/records.php - Appointments
patient/appointments.php - Patient messaging
patient/chat.php - Doctor dashboard
doctor/dashboard.php - Doctor patients
doctor/patients.php - Doctor messaging
doctor/chat.php
Shared Services
- Shared UI and helpers
helpers.php - Doctor search
shared/search.php - Document uploads
shared/upload.php - Insurance verification
shared/insurance_fetch.php - Portal database
db/schema.sql
Administration and Security
- Admin dashboard
admin/dashboard.php - User administration
admin/users.php - Audit log
admin/audit_log.php - Mode and hint toggles
toggle_mode.php
Other components
- Portal user
Connections 39
- Portal user → Portal entry: opens
- Portal entry → Login: routes to
- Portal user → Login: submits credentials
auth/login.php - Portal user → Registration: submits details
auth/register.php - Login → Mode and access config: checks mode
auth/login.php - Registration → Mode and access config: checks mode
auth/register.php - Login → Portal database: queries users
auth/login.php - Registration → Portal database: creates user
auth/register.php - Login → Shared UI and helpers: uses auth helpers
auth/login.php - Registration → Shared UI and helpers: uses helpers
auth/register.php - Portal user → Logout: requests logout
- Patient dashboard → Mode and access config: checks role
patient/dashboard.php - Patient records → Mode and access config: checks role
patient/records.php - Appointments → Mode and access config: checks role and mode
patient/appointments.php - Appointments → Portal database: reads and books
patient/appointments.php - Appointments → Shared UI and helpers: renders and audits
patient/appointments.php - Patient messaging → Mode and access config: checks role and mode
patient/chat.php - Patient messaging → Portal database: reads and sends
patient/chat.php - Patient messaging → Shared UI and helpers: renders and audits
patient/chat.php - Doctor dashboard → Mode and access config: checks role
doctor/dashboard.php - Doctor patients → Mode and access config: checks role
doctor/patients.php - Doctor messaging → Mode and access config: checks role and mode
doctor/chat.php - Doctor messaging → Portal database: reads and sends
doctor/chat.php - Doctor messaging → Shared UI and helpers: renders and audits
doctor/chat.php - Doctor search → Mode and access config: checks login and mode
shared/search.php - Doctor search → Portal database: searches doctors
shared/search.php - Doctor search → Shared UI and helpers: renders and audits
shared/search.php - Document uploads → Mode and access config: checks login and mode
shared/upload.php - Document uploads → Portal database: stores upload metadata
shared/upload.php - Document uploads → Shared UI and helpers: renders and audits
shared/upload.php - Document uploads → Portal user: serves upload result
- Insurance verification → Mode and access config: uses configuration
shared/insurance_fetch.php - Admin dashboard → Mode and access config: checks role
admin/dashboard.php - Admin dashboard → Portal database: reads portal counts
admin/dashboard.php - Admin dashboard → Shared UI and helpers: renders dashboard
admin/dashboard.php - User administration → Mode and access config: checks role
admin/users.php - Audit log → Mode and access config: checks role
admin/audit_log.php - Mode and hint toggles → Mode and access config: rewrites settings
toggle_mode.php - Portal user → Mode and hint toggles: toggles demo mode