提问人:Mikhail 提问时间:12/28/2020 最后编辑:Mark RotteveelMikhail 更新时间:12/28/2020 访问量:291
有没有办法在 dbms_xmlquery.getxml 或 DBMS_XMLGEN.getXML(..) 或其他 PL/SQL xml 函数中执行多个 sql 命令?
Is there any way to execute multiple sql commands inside dbms_xmlquery.getxml or DBMS_XMLGEN.getXML(..) or other PL/SQL xml functions?
问:
我找到了一篇文章,其中包含在 dbms_xmlquery.getxml(..) 函数中执行动态 PL\SQL 代码的示例。本文 https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/OracleSQL%20Injection.md#oracle-sql-list-table。 示例如下:
SELECT TO_CHAR(dbms_xmlquery.getxml('declare PRAGMA AUTONOMOUS_TRANSACTION;
begin execute immediate ... end;')) results FROM dual;
但是,除了有效的“SELECT”语句之外,我所有执行某些内容的尝试都在 xlm 响应中出错:
<ERROR>oracle.xml.sql.OracleXMLSQLException: Invalid query </ERROR>.
甚至像这样的查询
SELECT TO_CHAR(dbms_xmlquery.getxml('begin execute immediate '' begin select 1 from dual; end;'' end;')) results FROM dual;
但是查询
SELECT TO_CHAR(dbms_xmlquery.getxml('select 1 from dual')) results FROM dual;
工作正常。
答: 暂无答案
评论