从IIS到SQL Server数据库安全

作者:佚名 来源:中国IT实验室 时间:2008-12-24 15:58:00 

从codered到nimda等,一大堆蠕虫把原来需要人工利用的漏洞都变成了程序自动利用了,大家还想去手工操作这些IIS漏洞么?让我们调整重心,去看看服务器常用的数据库吧。

一般网站都是基于数据库的,特别是ASP、PHP、JSP这样的用数据库来动态显示的网站。很多网站可能多注意的是操作系统的漏洞,但是对数据库和这些脚本的安全总是忽略,也没有太多注意。

从最普遍的脚本问题开始,这些都是老话题了,大家可以参考Hectic写的《关于数据库的简单入侵和无赖破坏,以天融信做例子》,该文章对从SQL脚本问题说得非常详细。对于脚本安全的解决,也可以通过过滤来实现,可以参考我以前写的。对于ASP来说,可以使用下面这个过滤函数:

Function Filter_SQL(strData)

Dim strFilter

Dim blnFlag

Dim i

strFilter="’,;,//,--,@,_,exec,declare"

blnFlag=Flase

Dim arrayFilter

arrayFilter=Split(strFilter,",")

For i=0 To UBound(arrayFilter)

If Instr(strData,arrayFilter(i))>0 Then

blnFlag=True

Exit For

End If

Next

If blnFlag Then

Response.Redirect "wrong.asp"

Else

Filter_SQL=strData

End If

End Function

对于MS SQL Server数据库来说,安全问题不仅仅局限在脚本上了。“天杀的微软”的系统性很强,整个基于WINDOWS系统的应用都有很强的关联性,对SQL Server来说,基本可以把数据库管理和系统管理等同起来了。SQL Server默认的管理员帐号“sa”的密码是空的,这给多数NT服务器产生一个安全漏洞。小榕的“SQLRCMD”,就能够利用获得的数据库管理员帐号执行系统命令。

在SQL Server中有很多系统存储过程,有些是数据库内部使用的,还有一些就是通过执行存储过程来调用系统命令。

系统存储过程:xp_cmdshell

就是以操作系统命令行解释器的方式执行给定的命令字符串。它就具体语法是:xp_cmdshell {’command_string’} [, no_output]

xp_cmdshell在默认情况下,只有 sysadmin 的成员才能执行。但是,sysadmin也可以授予其他用户这个执行权限。在早期版本中,获得 xp_cmdshell 执行权限的用户在 SQL Server 服务的用户帐户中运行命令。可以通过配置选项配置 SQL Server,以便对 SQL Server 无 sa 访问权限的用户能够在SQLExecutiveCmdExec Windows NT 帐户中运行 xp_cmdshell。在 SQL Server 7.0 中,该帐户称为 SQLAgentCmdExec。现在对于SQL Server2000,只要有一个能执行该存储过程的帐号就可以直接运行命令了。

标签:
0
投稿

猜你喜欢

  • 一个简单的SQL 行列转换语句

    2024-01-24 01:57:08
  • python生成lmdb格式的文件实例

    2021-07-18 21:57:05
  • Python接口测试数据库封装实现原理

    2024-01-27 11:19:46
  • python 使用xlsxwriter循环向excel中插入数据和图片的操作

    2023-01-30 15:08:47
  • eWebEditor_v280_Free_Final最好用的网页编辑器下载

    2022-05-26 22:30:24
  • vue实现在线学生录入系统

    2024-06-05 15:30:23
  • 深入浅析Python获取对象信息的函数type()、isinstance()、dir()

    2021-12-23 11:46:11
  • 跟老齐学Python之开始真正编程

    2021-06-26 21:42:22
  • Python3实现对列表按元组指定列进行排序的方法分析

    2022-10-05 18:01:13
  • python中分组函数groupby和分组运算函数agg的使用

    2023-05-25 03:15:48
  • javascript轻量级库createjs使用Easel实现拖拽效果

    2024-05-22 10:41:16
  • 解决Git Bash中文乱码的问题

    2023-04-07 09:50:40
  • Python 定义只读属性的实现方式

    2023-04-28 01:11:22
  • PHP获取当前相对于域名目录的方法

    2023-08-19 18:47:31
  • Python3中多线程编程的队列运作示例

    2022-06-15 23:27:49
  • golang常用库之pkg/errors包第三方错误处理包案例详解

    2024-02-14 09:20:38
  • Python利用matplotlib实现制作动态条形图

    2021-06-11 05:29:15
  • ASP制作中使用MYSQL的分析

    2008-10-13 09:25:00
  • 一文详解Python中的super 函数

    2022-02-26 03:18:35
  • golang gorm实现get请求查询案例测试

    2024-05-09 10:09:31
  • asp之家 网络编程 m.aspxhome.com