Part 5 of our PortSwigger Web Security Academy series. This is the meaty one. We already covered blind SQLi with conditional responses, where the page renders differently depending on the truth of an injected boolean. This post covers what to do when the page doesn't render differently - but you can still smuggle information out by deliberately causing SQL errors.
The example is PortSwigger's Lab 12, which is Oracle-flavored. Full notes: SQL Injection/Blind.
The Six Steps
The full attack has six steps:
- Prove the parameter is injectable
- Fingerprint the database
- Confirm a
userstable exists - Confirm the
administratoruser exists …