Call: +44 (0)1904 557620 Call

Pete Finnigan's Oracle Security Weblog

This is the weblog for Pete Finnigan. Pete works in the area of Oracle security and he specialises in auditing Oracle databases for security issues. This weblog is aimed squarely at those interested in the security of their Oracle databases.

[Previous entry: "Oracle blogs aggregator speeded up"] [Next entry: "A nice post about risk based security"]

undocumented pragmas

I came across Eddie's post this evening about three undocumented pragma's that are used the the SYS.STANDARD package. These are BUILTIN, FIPSFLAG and INTERFACE. Like Eddie I am always interested in undocumented Oracle. I like undocumented features, we should not use them of course in production databases but they give clues to the internal workings of the database and for people like they also give clues as to how you can break Oracle. Eddie's post is titled "About the BUILTIN, FIPSFLAG and INTERFACE pragmas in Oracle".

I knew about these previously, as quoted by Eddie in his post. Also read my comment at the end of his post as I actually tested the INTERFACE C pragma back in August 2001, this is documented in the Expoliting and protecting Oracle paper. My comment is here:

"A couple of comments. Normally FIPS stands for Federal Information Processing Standards, I don’t know but maybe its related?

Also on the Pragma interface C, if you read further in my first big Oracle paper (Expoliting and protecting Oracle) you will see that i tried to use the syntax myself but if fails with an ORA-6509 - ICD vector Processing error. I assumed at the time that Oracle implements a function call table. Like a table of structs that includes details for each function implemented as a pragma interface C call. This table or linked list would include function pointers for each C function, hence you cannot simply call your own C directly from PL/SQL unless you can update this table to add the address of the function you add. This is a great interface for calling C directly without the extproc overheads if only we coluld find a way to make it work..:-)"

Good post Eddie!