WEB开发网
开发学院网络安全安全技术 SQL Server应用程序的高级Sql注入 阅读

SQL Server应用程序的高级Sql注入

 2009-04-04 13:56:50 来源:WEB开发网   
核心提示: 这些例子仅仅揭开了这项技术的神秘面纱,不用说,SQL Server应用程序的高级Sql注入(10),如果攻击者可以从数据库获得丰富的错误信息,他们的工作将大大的简化,而且有各种各样的函数比如发送邮件和更改注册表, xp_cmdshell是一个内置的扩展存储,[更深入的访问] 一旦攻击者可以

这些例子仅仅揭开了这项技术的神秘面纱,不用说,如果攻击者可以从数据库获得丰富的错误信息,他们的工作将大大的简化。

[更深入的访问]

一旦攻击者可以控制数据库,他们可能想通过这些权限来获得对网络更多的控制,可以通过很多方法来达到这一目的:

1.利用xp_cmdshell扩展存储以SQL-Server用户的身份在数据库服务器上执行命令

2.利用xp_regread扩展存储读取注册表的键值,也包括SAM(只要SQL-Server是以一个本地帐号运行的)

3.用其他的扩展存储改变服务器设置

4.在联合服务器上执行查询

5.创建客户扩展存储从而在SQL-Server进程内运行exploit

6.用'bulk insert'语句去读服务器上任何文件

7.用bcp在服务器上创建任何文本文件

8.用sp_OACreate,sp_OAMethod和sp_OAGetProperty系统存储过程来创建ActiveX对象来完成asp脚本可以做的任何事情

这些只是常见的攻击方法的一部分;攻击者也很可能通过其他方法来达到目的,我们列举这些SQL-Server相关的攻击方法是为了说明如果程序可以被注入SQL语句时可能会发生什么,我们将依次给出以上各种情况的对策。
[xp_cmdshell]

扩展存储的本质是编译了的动态链接库(DLLs),它用SQL-Server指定的调用方式去运行接口函数。他们允许SQL-Server程序拥有了和c/c++一样的功能,是个非常有用的特性。SQL-Server内置了大量的扩展存储,而且有各种各样的函数比如发送邮件和更改注册表。

xp_cmdshell是一个内置的扩展存储,它允许执行任意的命令行程序。例如:
exec master..xp_cmdshell 'dir'

将会获得一个SQL-Server进程所在工作目录的列表
exec master..xp_cmdshell 'net1 user'

上一页  5 6 7 8 9 10 

Tags:SQL Server 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接