第8章_ppt.txt

大学WEB数据库技术-高晗-PPT文稿资料课件PPT

收藏

资源目录
跳过导航链接。
压缩包内文档预览:
预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:21836064    类型:共享资源    大小:13.15MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学 web 数据库技术 ppt 文稿 资料 课件
资源描述:
大学WEB数据库技术-高晗-PPT文稿资料课件PPT,大学,web,数据库技术,ppt,文稿,资料,课件
内容简介:
第8章 ASP网站的安全与对策 lWeb服务器安全策略l数据库安全与备份l ASP安全性与防护lIIS的安全性分析本章学习要点 近年来,随着网络建设和应用系统开发的日益成熟与完善,尤其是互联网经济巨大的前景和风险共存的事实,安全问题逐步成为信息主管关注和讨论的焦点。 一个好的安全解决方案离不开适当的安全目标和策略,而围绕企业重点资产和高风险威胁所进行的风险评估则是规划的基础。在规划企业安全时会考虑众多威胁,包括来自外部或内部,应用系统实现的各个方面。绝大多数企业甚至是聘请的安全公司,往往把注意力集中于网络和操作系统安全,而容易忽视最重要的数据库安全。 数据库安全是一个广阔的领域,从传统的备份与恢复,认证与访问控制,到数据存储和通信环节的加密,它作为操作系统之上的应用平台,其安全与网络和主机安全息息相关。 8.1 Web服务器的安全策略 (1)版本的选择:最好使用英文版。 (2)正确安装Windows 2000 Server (3)定制自己的Windows2000Server(4)安装最新的系统补丁(Service Pack)与更新(Hotfix)程序(5)修改目录和文件权限 (6)为管理员(Administrator)账号重新命名并指定安全的口令 (7)禁用或删除不必要的帐号 (8)关闭不必要的服务 (9)安装防病毒软件 (10)激活系统的审计功能 (11)关于应用软件方面的建议 (12)管理应用程序的选择 也可参考网络上的资源:l微软安全特性(中国):/china/technet/security/default.aspl微软补丁下载(中国):/china/windows2000/downloads/lCCERT安全资源:/certs/index.php8.2 数据库安全概述 在数据库中,数据作为商业信息或知识,一旦遭受安全威胁将带来难以想像的严重后果。 企业对数据的一个最基本要求,就是要确保它们能够在任何时候,被任何授权用户(如雇员或商业合作伙伴)方便、高效地访问。为此,企业会考虑创造多种对数据的访问通道,并确保它们的安全。但是,这些通道和计算机环境一样,是动态的,即当网络扩展时,它们随之创建或改变,并可能在未察觉和任何保护情形下不再可用。通过对数据库自身的安全保护,企业将可以在数据受到真正的威胁前设置最后一道防御屏障。 数据库的常见安全问题及安全管理原则 1常见的数据库安全问题 (1)脆弱的账号设置 (2)缺乏角色分离 (3)缺乏审计跟踪 (4)未利用的数据库安全特征 2数据库安全管理原则 (1)管理细分和委派原则 (2)最小权限原则 (3)账号安全原则 (4)有效的审计 Access数据库可能被下载的漏洞 在用Access做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的Access数据库的路径和数据库名称,那么他就能够下载这个Access数据库文件,这是非常危险的。例如:如果Access数据库book.mdb放在虚拟目录下的database目录下,那么有人在浏览器中打入: http:/someurl/database/book.mdb 如果book.mdb数据库没有事先加密的话,那book.mdb中所有重要的数据都掌握在别人的手中。 解决方法: (1)为数据库文件名称起个复杂的非常规的名字,并把它放在多级目录下。 (2)不要把数据库名写在程序中。 (3)使用Access来为数据库文件编码及加密。 SQL数据库安全 1系统存储过程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,只要有一个能执行该存储过程的账号就可以直接运行命令了。 对于NT和WIN2000,当用户不是sysadmin组的成员时,xp_cmdshell将模拟使用 xp_sqlagent_proxy_account指定的SQL Server代理程序的代理账户。如果代理账户不能用,则xp_cmdshell将失败。所以即使有一个账户是master数据库的拥有者,也不能执行这个存储过程。 如果有一个能执行xp_cmdshell的数据库账号,例如是空口令的sa账号。那么就可以执行这样的命令: exec xp_cmdshell net user refdom 123456 /add exec xp_cmdshell net localgroup administrators refdom /add 上面两次调用就在系统的管理员组中添加了一个用户:refdom 获得了数据库的sa管理员账号后,就应该可以完全控制这个机器了,可见数据库安全的重要性。 2SQL Server的安全配置 (1)加强像sa这样的账号的密码的管理。(2)对扩展存储过程进行处理。 (3)加强对数据库登陆的日志记录,最好记录所有登陆事件。 (4)用管理员账号定期检查所有账号,是否密码为空或者过于简单。 数据库的备份 在当今信息社会,最珍贵的财产并不是计算机软件,更不是计算机硬件,而是企业在长期发展过程中所积累下来的业务数据。建立网络最根本的用途是要更加方便地传递与使用数据,但人为错误、硬盘损坏、电脑病毒、断电或是天灾人祸等等都有可能造成数据的丢失。所以应该强调指出:“数据是资产,备份最重要”。1威胁数据安全的因素分析 (1)系统物理故障 (2)系统软件设计的缺陷 (3)使用人员人为失误 (4)计算机病毒 (5)黑客入侵 (6)自然灾害 2网络数据备份的内容及方法 (1)构造双机容错系统 (2)多平台系统文件备份 (3)各类数据库的备份 (4)网络故障和灾难恢复 (5)备份任务管理 3树立正确的备份观念 很多计算机用户和管理人员虽然认识到备份的重要性,具备一定的备份概念,但仍存在一些误区。一个完整的备份方案大致应具备以下特点:l保证数据资料的完整性。l 能自动排程设定,实现备份任务的管理。l 能对不同的存储介质进行有效管理。l支持多种操作系统平台。l操作简便、易于实现。除了技术上的要求外,制定周密的计划也很重要。 8.3 ASP的安全性 ASP是开发网站应用的快速工具,但是有些网站管理员只看到ASP的快速开发能力,却忽视了ASP安全问题。ASP从一开始就一直受到众多漏洞、后门的困扰,包括%81、密码验证问题、IIS的漏洞等都一直使ASP网站开发人员惴惴不安。通过ASP代码,可能很方便地入侵 Web服务器、窃取服务器上的文件、捕获 Web 数据库等系统的用户口令,甚至恶意删除服务器上的的文件,直至造成系统损坏。 ASP漏洞及解决方法 1HTML语句或者JavaScript语句对安全的影响 ASP应用程序可能面临的攻击。过去许多Internet上用CGI写的留言本或BBS是把客户输入的留言赋给一个变量,然后再把这个变量插入到显示留言的HTML文件里,因此客户输入的文本如要在HTML文件里显示就得符合HTML标准,而CGI程序里一般都加入了特定的HTML语言。当客户输入内容,插入HTML文件时,即同时插入到了头尾HTML语句中,如: 客户输入的变量 但如果把前后的HTML标记屏蔽掉,就可以做很多事情。例如输入: 符合 HTML 标准的语句 前后的是用来屏蔽CGI中的HTML语句用的。插入到HTML文件里的就变成了: 符合 HTML 标准的语句 由于这样一个特性,使得写个JavaScript的死循环变得非常容易,只要在输入框中输入: 或 就能让其他查看该留言的客户的浏览器因死循环而死掉。ASP开发的程序同样可能存在这个问题,因此当用ASP编写类似程序时应该做好对此类操作的防范,例如可以写一段程序判断客户端的输入,并屏蔽掉所有的HTML和JavaScript语句。 2IIS Web Server DoS 默认情况下,IIS容易被拒绝服务攻击。如果注册表中有一个叫 “MaxClientRequestBuffer”的键未被创建,则针对NT系统的这种攻击通常能奏效。 “MaxClientRequestBuffer”这个键用于设置IIS允许接受的输入量。如果设置为256(字节),则攻击者通过输入大量的字符请求IIS,将被限制在256字节以内,而系统的默认设置对此不加限制,因此,利用特殊的程序,就可以很容易地对IIS Server实行DoS攻击,导致NT系统的CPU占用率达到100%。解决方案:运行Regedt32.exe程序,在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesw3svcparameters 增加一个值:Value Name:MaxClientRequestBufferData Type:REG_DWORD 设置为十进制,具体数值设置为想设定的IIS允许接受的URL最大长度。CNNS:设置为256。3ASP程序密码验证漏洞 很多网站把密码放到数据库中,在登陆验证中使用以下SQL语句 (以ASP为例) :sql=select * from user where username=&username&and pass=& pass & 此时,只要根据sql构造一个特殊的用户名和密码,如:ben or 1=1 就可以访问原本无权访问的页面。此时,程序将会变成sql=select * from username where username=&ben or 1=1& and pass=&pass& or是一个逻辑运算符,作用是在判断两个条件的时候,只要其中一个条件成立,那么等式将会成立。而在SQL语言中,是以1来代表真的(成立),那么在这行语句中,原语句的“and”验证将不再继续,因为1=1和or令语句返回为真值。 另外也可以构造以下的用户名: username=aa or usernameaa pass=aa or passaa 相应地在浏览器端的用户名框内输入:aa or usernameaa,口令框内写入:aa or passaa,注意这两个字符串两头是没有单引号“”的。这样就可以骗过系统。 ASP中SQL注入与防护 随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些想得知的数据,这就是所谓的SQL Injection,即SQL注入。用NBSI 2.0软件对网上的一些ASP网站稍加扫描,就能发现许多ASP网站存在SQL注入漏洞。本节主要介绍SQL注入的防范措施,而要明白这些防范措施的用处,须先了解利用SQL注入漏洞入侵的过程。 1SQL注入原理假设登陆一名为/的网站。在网站首页上,有名为“IE不能打开新窗口的多种解决方法”的链接,地址为:/showdetail.asp?id=49,若在这个地址后面加上单引号(),服务器会返回下面的错误提示:Microsoft JET Database Engine 错误 80040e14 字符串的语法错误 在查询表达式 ID=49 中。 /showdetail.asp,行8从错误提示中能看出以下几点:(1)网站使用的是Access数据库,通过JET引擎连接数据库,而不是通过ODBC。(2)程序没有判断客户端提交的数据是否符合程序要求。(3)该SQL语句所查询的表中有一名为ID的字段。2判断能否进行SQL注入 其实上例的测试方法并非十分准确。 首先,不一定每台服务器的IIS都返回具体错误提示给客户端,如果程序中加了cint(参数)之类语句的话,SQL注入是不会成功的,但服务器同样会报错,具体提示信息为:处理 URL 时服务器上出错。请和系统管理员联络”。 其次,部分对SQL注入有一点了解的程序员,认为只要把单引号过滤掉就安全了,这种情况不为少数,如果用单引号测试,是测不到注入点的。那么,什么样的测试方法才是比较准确呢?答案如下:第一种:/showdetail.asp?id=49第二种:/showdetail.asp?id=49 and 1=1第三种:/showdetail.asp?id=49 and 1=2这就是经典的1=1、1=2测试法。不可以注入就比较容易判断了,第一种同样正常显示,第二种和第三种一般都会有程序定义的错误提示,或提示类型转换时出错。当然,这只是传入参数是数字型的时候用的判断方法,实际应用的时候会有字符型和搜索型参数。3判断数据库类型及注入方法 不同的数据库的函数、注入方法都是有差异的,所以在注入之前还要判断一下数据库的类型。网上大多数的网站数据库都是采用Access或SQL Server。 SQL Server有一些系统变量,如果服务器IIS提示没关闭,并且SQL Server返回错误提示,则可以直接从出错信息获取数据库类型,方法如下: /showdetail.asp?id=49 and user0 分析该语句:因为user是SQL Server的一个内置变量,它的值是当前连接的用户名,类型为nvarchar。当一个nvarchar的值跟int的数0比较时,系统会先试图将nvarchar的值转成int型,此时,SQL Server将出现错误提示:将nvarchar值 “abc” 转换数据类型为 int 的列时发生语法错误。abc即为变量user的值,这样,就得到了数据库的用户名。 如果服务器IIS不允许返回错误提示,那怎么判断数据库类型呢?可从Access和SQL Server和区别入手。Access和SQL Server都有自己的系统表,例如存放数据库中所有对象的表,Access是在系统表msysobjects中,但在Web环境下读该表会提示“没有权限”,SQL Server是在表sysobjects中,在Web环境下可正常读取。4SQL注入的一般步骤 (1)判断环境,寻找注入点,判断数据库类型。(2)根据注入参数类型,重构SQL语句原貌。(3)将查询条件替换成SQL语句,猜解表名 。(4)在表名和列名猜解成功后,再使用SQL语句,得出字段的值。 5SQL注入常用函数 6中文处理方法 Access中,中文的ASCII码可能会出现负数,取出该负数后用abs()取绝对值,汉字字符不变。 SQL Server中,中文的ASCII为正数,但由于是UNICODE的双位编码,不能用函数ascii()取得ASCII码,必须用函数unicode()返回unicode值,再用nchar函数取得对应的中文字符。7利用系统表注入SQL Server数据库 SQL Server是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了很大的方便,但另一方面,也为注入者提供了一个跳板,以下是几个具体的例子:(1)http:/Site/url.asp?id=1;exec master.xp_cmdshell net user name password /add-(2)http:/Site/url.asp?id=1;exec master.xp_cmdshell net localgroup administrators name /add(3)http:/Site/url.asp?id=1 and db_name()0(4)http:/Site/url.asp?id=1;backup database 数据库名 to disk= c:inetpubwwwroot1.db ;-(5)http:/Site/url.asp?id=1 and (Select Top 1 name from sysobjects where xtype=U and status0)0(6)http:/Site/url.asp?id=1 and (Select Top 1 col_name(object_id(表名),1) from sysobjects)08绕过程序限制继续注入 在“SQL注入的一般步骤”一节中,所用的语句均不包含单引号;在“利用系统表注入SQLServer数据库”中,有些语句包含有单引号,下面举例对这些语句进行改造:简单的如where xtype= U,字符U对应的ASCII码是85,所以可以用where xtype=char(85)代替;如果字符是中文的,例如where name= 用户,可以用where name=nchar(29992)+nchar(25143)代替。 9防范方法 (1)把500:100这个错误的默认提示页面 “/iisHelp/common/500-100.asp”改成 “ C:WINNTHelpiisHelpcommon500.htm”即可,这样,无论ASP运行中出什么错,服务器都只提示HTTP 500错误。(2)服务器管理员还应在IIS中为每个网站设置好执行权限,静态网站则无需设置“脚本和可执行”权限,一般情况下设为“纯脚本”权限即可。 (3)对于数据库用户的权限配置也要谨慎。(4)程序员在编写程序时要对客户端提交的变量参数进行仔细地检测并给数据库中用户密码进行加密。关于IIS安全性问题的一点建议 (1)使用最新版本的Microsoft Inte
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学WEB数据库技术-高晗-PPT文稿资料课件PPT
链接地址:https://www.renrendoc.com/p-21836064.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!