今日精选 ·绝对解密 XP系统中隐藏的10个秘密 ·Windows系统文件详解【大全】 ·配置Windows Server 2008高级防火墙 ·带你现场体验专业服务器机房 ·屏蔽五项功能 让Windows XP极速狂飙 ·木马免杀技术大盘点 ·如何让无线路由信号更强更广 ·各大路由器默认密码(完美汇总经典版) ·如何构建安全的入侵检测系统 ·电脑故障维修判断指导大全(联想内部文件) >>>>
编程开发  Java | .Net | C/C++ | Delphi | VC/VB | XML | ASP | PHP
数据库  Oracle | Mysql | DB2 | Sql server
应用方案 无线网络方案 | 有线网络方案 

网管天地  网吧管理 | 路由器 | 交换机 | 服务器
网络安全  黑客技术 | 病毒漏洞 | 网站安全 | 服务器安全 | 入侵防御 | 防火墙
操作系统 Linux/Unix | Windows 
相关文章
没有相关文章
您现在的位置: 企业网络安全 >> 文章·资讯 >> 互联网安全 >> 网站安全 >> 文章正文
ASP注入应用漏洞解决方法大全
作者:佚名 文章来源:本站原创 点击数: 更新时间:2008-1-1 12:16:12
1、ASP程序连接 SQL Server 的账号不要使用sa,或任何属于Sysadmin组的账号,尽量避免应用服务有过高的权限,应使用一个db_owner权限的一般用户来连接数据库。  
2、WEB应用服务器与DB服务器分别使用不同的机器来存放,并且之间最好通过防火墙来进行逻辑隔离,因为除了有程序在探测 sa 没密码的SQL Server,SQL Server 本身及大量的扩展存储过程也有被溢出攻击的危险。  

3、数据库服务器尽量不要与公网进行连接,如果一定要直接提供公网的连接存储,应考虑使用一个非标准端口并限制IP地址来进行连接。  

4、SA一定要设成强悍的密码,尤其是SQL Server 2000以前的版本,在默认安装Sql时sa账号没有密码,而一般管理员装完后也忘了或怕麻烦而不更改密码。  

5、改掉缺省的Web虚拟路径,不要使用IIS装好后预设的<系统盘>\Inetpub\WWWRoot路径,否则利用前面叙述的另存为方式,很容易在该目录下动手脚。  

6、将平时不使用的但功能强大的扩展存储过程删除。  

7、使用网络和主机IDS来监控重要系统的运行状况。  

8、随时注意是否有新的补丁需要补上,目前SQL2000最新的补本包为SP4。  

9、尽量的利用ASP 或者 ASP.NET 在服务器端检查与限制输入变量的类型与长度,过滤掉不需要的内容。要注意的是这些检查不只是要放在前端,后端也要检测。 在前端利用Html Input 标签的MaxLength属性来限制输入长度,或是以JScript编写程序来限定文本域的长度,但是只要将该网页另存为,修改内容后(一般只要改写Form的Action属性以及Input的MaxLength属性),重新用浏览器打开更改过后的页面就可以躲过这些浏览器前端的检查。  

10、使用容错语句,不要显示错误信息到前端,利用VBScript语法的On Error Resume Next来屏蔽SQL的出错提示,并搭配If Err.Number<>0 Then的错误处理方式,自行将错误重定向到适当的错误处理网页,如此系统将更稳固,且黑客也不容易透过错误信息来探知系统的内部运作方式。或者,也可以修改<系统盘>\Winnt\Help\iisHelp\common\500-100.asp预设网页,最简单的方式就是将它改名。例:  


on error resume next  
sql2="select * from dv_admin where username=’"&ReqStr("username")&"’"  
11、使用过滤和防注入函数来过滤掉一些特殊的字符,防注入函数示例:  


’----------------------------------- ----------------------------  
Function ReqNum ( StrName ) /* 数值型变量过滤 */  
ReqNum = Request ( StrName )  
if Not isNumeric ( ReqNum ) then  
Response.Write "参数必须为数字型!" Response.End  
End if  
End Function  
Function ReqStr ( StrName ) /*字符型和搜索型过滤 */  
ReqStr = Replace ( Request(StrName), "’", "’’" ) /* 用replace函数屏蔽单引号 */  
End Function  
以下三句SQL语句,说明一下调用方法:  
1.SQL="select * from dv_admin where username=" & ReqNum("username")2.SQL="select * from  
dv_admin where username =’" &  
ReqStr(" username ") & "’" 3.SQL="select * from username where UserName like ’%" & ReqStr  
(" username ") & "%’"  
12、若想更换SQL Server 的执行服务账号,则该帐号需要以下的权限:  
Log On Locally  
Log On as a Batch  
Access this computer from the Network  
Log on as service  
Replace a process level token  
Act as part of the operating system  
Increase quotas  
13、使用Microsoft基线安全性分析器(MBSA)来评估服务器的安全性,并按照它的建议来更改系统的设定。  

MBSA 是一个扫描多种Microsoft产品的不安全配置的工具,包括SQL Server和Microsoft SQL Server 2000 Desktop Engine(MSDE 2000)。它可以在本地运行,也可以通过网络运行。  

该工具针对下面问题对SQL Server安装进行检测:  

(1) 过多的sysadmin固定服务器角色成员。     

(2) 授予sysadmin以外的其他角色创建CmdExec作业的权利。     

(3) 空的或简单的密码。     

(4) 脆弱的身份验证模式。     

(5) 授予管理员组过多的权利。     

(6) SQL Server数据目录中不正确的访问控制表(ACL)。     

(7) 安装文件中使用纯文本的sa密码。     

(8) 授予guest帐户过多的权利。     

(9) 在同时是域控制器的系统中运行SQL Server。     

(10) 所有人(Everyone)组的不正确配置,提供对特定注册表键的访问。     

(11) SQL Server 服务帐户的不正确配置。     

(12) 没有安装必要的服务包和安全更新。
免责声明:作品版权归所属媒体与作者所有!!本站刊载此文不代表同意其说法或描述,仅为提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站立即删除。有异议请联系我们。
文章录入:security    责任编辑:security 
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 |