我们正在尝试调试一个使用 DB2 的非常古老的 Web 应用程序。
我想运行跟踪以查看单击按钮时会发生什么,但是一旦尝试,我就会收到此错误:
create event monitor ........ for statement where AUTH_ID='.......' write to table
"USER" does not have privilege to perform operation "CREATE EVENT MONITOR".. SQLCODE=-552, SQLSTATE=42502,
对我来说很明显,我们的用户没有足够的权限来运行跟踪。
在 T-SQL 中有一种方法可以模拟另一个用户:
USE AdventureWorks2019
GO
EXECUTE AS USER = 'Test';
SELECT * FROM Customer;
REVERT;
我想知道 DB2 中是否有相同的命令。
目标是尝试运行类似SQL Server Profiler
forDB2
并嗅探查询。
是的,我已经尝试运行GRANT DBADM ON DATABASE TO USER E.....O
了,当然系统回复了:
"E.....O" does not have the privilege to perform operation "GRANT".. SQLCODE=-552, SQLSTATE=42502, DRIVER=3.69.56
我们被卡住了,无法移动,因为我们不知道查询是如何工作的。向我们的用户要求更多特权不是一种选择,因为我们正在将客户从竞争对手迁移到我们这边。
我正在尝试做的是一种privilege escalation
不犯罪。
我还教过如何从 SQL Server 连接到 DB2 数据库并使用PolyBase,但据我所知,这样的功能只允许我查询,我无法嗅探参数。