除了执行我在SQL 2005安装中禁用的XP_CmdShell之外,获得数据库DBO权限的恶意用户可以做什么:
我正在评估某人获取DBO以证明在应用程序中运行“最少特权”用户帐户的最坏情况安全风险。有人声称,由于我们没有使用“机密数据”,因此获得DBO的人的影响很小。
答案 0 :(得分:3)
他可以运行任何XP_ sproc,这样就可以搞砸注册表并弄乱你的整个服务器。 删除/更改表等...
答案 1 :(得分:3)
dbo是数据库所有者 - 可能是也可能不是sa。作为dbo,你基本上可以自由统治拥有的数据库 - 显然,这可能导致更改权限,删除表等。
作为sa,你可以自由统治服务器。这包括安装新的扩展过程(如果启用了CLR,则安装.NET程序集),以及dbo可以执行的所有操作(适用于所有数据库)。而且,您还可以再次enable xp_cmdshell。
答案 2 :(得分:2)
有关SQL注入的大量在线信息。限制连接到SQL的用户的权限是一个非常重要的说明。
http://en.wikipedia.org/wiki/SQL_injection
这是我几年前遇到的一个简单而可怕的例子。网站使用URL动态生成SQL状态并运行它们。我能够猜到像
这样的网址www.blah.com /.../ load.aspx?的itemid = 1
像这样生成SQL
SELECT * FROM id = 1的项目
所以我发了这个网址:
www.blah.com /.../ load.aspx?itemid = 1;删除表项目
爆炸。
至少,如果数据库连接不是dbo,则会失败。
答案 3 :(得分:0)
说白了,如果他拥有你的数据库,他 pwns 你的数据库。也就是说,你可以亲吻你的数据。
答案 4 :(得分:0)
也就是说,你可以亲吻你的数据。
但是你在磁带上的磁盘和上有备份,所以你是金色的!
答案 5 :(得分:0)
呀。典型的防御是“好吧,至少他不能弄乱他的数据库之外的任何东西”(xp_CmdShell没有启用)。我,我不舒服在我家的一个锁着的壁橱里有一个疯狗强奸犯。但这种比喻对管理层来说并不是一个很好的卖点。