Oracle Translate Exploit Versions: ALL |
---|
Overview |
One of the security industry's big money makers is monitoring SQL statements that for unusual behavior or for access to specific tables.
To evade these security tools those in the business of breaking into databases evolve techniques for hiding the details of the requests they are making to the database.
There are a large number of possible Substitution attacks a number of which are linked at the bottom of this page. Many of the more sophisticated security tools can now catch some of these exploits but it is not hard to imagine numerous variations to evade existing capabilities. Be sure you learn, from the follow demos, how this works. Then try each of the exploits published here in your environment. To secure your database you need to intentionally attempt these exploits as part of a sanctioned White Hat attack to determine whether your environment will alert you. |
Exploit Demo |
This demo was written on the assumption that the organization is monitoring for SQL statements that contain the word "SELECT" and target the "CREDIT_CARD" table.
Review the code of the anonymous block below. Note that nowhere in the code does the name of the target table "CREDIT_CARD" appear.
If this code was part of a procedure with hundreds or thousands of lines of code, or was constructed to more clearly obfuscate its intent, it would sail through a code review and likely remain undetected. The TRANSLATE function, in the demo code, converts "TRASHY" to "CREDIT" on the fly at the time of execution. The full target name "CREDIT_CARD" only exists within the database's memory, never on the network. |
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Aug 28 13:41:28 2019 |
Conclusion |
Using built-in functions such as TRANSLATE hide from monitoring, and from human eyes, the actual content of a string being sent into our out of a database.
The more sophisticated commercial monitoring tools may catch and tag this as suspicious but depending on how the encoding was performed may not be able to determine the underlying intent. You are just trying to do your job. Some people's "job" is to find ways to evade your security measures. Investing time to understand these techniques and how they work, will make you better at evaluating what will protect your data and your databases. |
Related Topics |
Base64 Exploit |
Cast To RAW Exploit |
NoSpaces Exploit |
REPLACE Exploit |
Substitution Exploits |
UTL_ENCODE |
UTL_I18N |
UTL_RAW |
WRAP Exploit |