WEB开发网
开发学院数据库MSSQL Server SQL概述及在网络安全中的应用(下) 阅读

SQL概述及在网络安全中的应用(下)

 2007-05-19 09:43:17 来源:WEB开发网   
核心提示: 6. 另外一个好的调用对象是master.dbo.sp_makewebtask,象你所看的,SQL概述及在网络安全中的应用(下)(8),它是一个本地的输出文件和一个SQL statement,sp_makewebtask可以查询并建立一个包含输出的网页,限制网页应用程序的数据库用户在数据库

6. 另外一个好的调用对象是master.dbo.sp_makewebtask,象你所看的,它是一个本地的输出文件和一个SQL statement。sp_makewebtask可以查询并建立一个包含输出的网页。注意你可以象使用一个UNC路径名一样使用一个本地输出。这个意思就是这个输出文件可以放有在任何一台连在Internet并且有个可写的SMB共享(SMB请求不需要任何的身份验证)。如果有一个防火墙限制了服务器对Internet,试着把输出文件放在网页目录下(你要知道或者猜测网页的目录)。同样值得注意的是引用查询可能是 包括执行其他的存储过程。Making "EXEC xp_cmdshell 'dir c:'" 这个查询将在网页中给出"dir c:"的输出。当你进行嵌套引用的时候,记得单独的引用和双引号.

4.1数据处理

所有的客户端数据可以被恶意的提交的字符或字符串清除。这些可能在所有的应用程序做到,不仅仅是使用SQL查询的。Stripping quotes or putting backslashes in front of them is nowhere near enough.最好的过滤数据的方式是不用规则的表达方式,使它只包括你所想要的字符类型。举个例子,下边的regxp将只能返回字母和数字,尽可能的过滤象s/[^0-9a-zA-Z]//g 这样的特殊字符。可能的时候尽量使用数字,在这以后只使用数字和字母。如果你需要包括各种各样的标志或标点。确信完全的把它们转换成html标记,像“"e;" or ">”。例如,一个用户提交了一个email地址只允许使用数字和字母还有"@", "_", "." 和"-"。仅仅只有这些字符可以转换成html标记。

4.2. 编写安全的web程序

这里同样有很少的特殊的sql注入规则。First, prepend and append a quote to all user input。

尽管数据使数字。其次,限制网页应用程序的数据库用户在数据库里的权限。不要给这个用户访问所有的存储过程的权利如果这个用户只需要访问一些预定义的。 这部分包括了所有在sql注入中有用的系统表,你可以在google上搜索到每一个的表的列的定义

5.1. MS SQL Server

  Sysobjects
  syscolumns

5.2. MS Access Server

  MSysACEs
  MSysObjects
  MSysQueries
  MSysRelationships
  5.3. Oracle
  SYS.USER_OBJECTS
  SYS.TAB SYS.USER_TABLES
  SYS.USER_VIEWS SYS.ALL_TABLE
  S SYS.USER_TAB_COLUMNS
  SYS.USER_CONSTRAINTS SYS.USER_TRIGGERS
  SYS.USER_CATALOG

上一页  3 4 5 6 7 8 

Tags:SQL 概述 网络安全

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