grc.engineering bootcamp
Interactive lab · Module 17 · SQL

One claim, three stores, one real engine

7 tasks runs in your browser progress stays local claim thread: every-user-has-mfa

Before you start

The same eight acme.example users you pulled from the API in module 06 are loaded three ways into one real SQLite engine: a relational `users` table, a `users_doc` table of JSON documents, and a `users_kv` key-value table. You are asked to answer ONE control question — "which users lack MFA?" — in each store, prove you evaluated all eight, then diagnose a SQL-injection break by running a concatenated query against a parameterized one. This console is real SQLite running in your browser — the same engine that ships in your phone. You type SQL; the engine returns real result sets, checked against the engine's own output. Nothing is invented; the result set is the answer key. The eight users are seeded for you; start by reading the relational store.

This exercise loads a heavier engine — a desktop-class browser is recommended.