Skjult Admin-knapp
Utfør kun mot din egen lokale testapplikasjon med testbrukere du har opprettet selv.
1
Scenario
Admin-panel vises bare for user.role === 'admin'. Panelet kaller deleteUser.
2
Vulnerability
Endpointet sjekker ikke rolle server-side.
3
Inspect
4
Test
5
Explain
Rolle-sjekken lever bare i React. Endpointet er tilgjengelig for alle med gyldig session.
6
Fix
Vulnerable · ts
.handler(async ({ data }) => deleteUser(data.id)) Secure · ts
.middleware([requireSupabaseAuth])
.handler(async ({ data, context }) => {
if (!(await isAdmin(context))) throw new Response(null, { status: 403 });
return deleteUser(data.id);
})7