Web Application Turning Blind Error-Based SQL Injection into Exploitable Boolean One — Part 4: Oracle
This post documents a blind SQL injection against an Oracle backend where standard boolean, time-based, UNION and out-of-band techniques did not produce a usable extraction channel on this target. The solution was to use the DECODE function, which converts its return value to the data type of its first result. Put a number in the match branch and a non-numeric string in the default branch, and the false condition forces a conversion error while the true condition runs cleanly. That error/success difference becomes a boolean oracle for character-by-character extraction.


