ASP注入应用漏洞解决方法整理
时间:2007-09-17 12:42:00
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")&"’"


猜你喜欢
phpwind发布图片导购应用 可将图片变现为佣金
DEDECMS专题制作方法
Linux执行可执行文件提示No such file or directory的解决方法
伟大网站之路无法规避的原则

蠕虫病毒近期泛滥 站长应小心应付
V5MALL: 多用户商城的到来

Centos8搭建本地Web服务器的实现步骤

微软正式发布Office2010 运营方式转向云计算

国家网络电视台将在2010年元旦前后正式亮相
adsense优化技巧-定期更换广告

提高WordPress搜索体验
Hishop.5.13正式版与DISCUZ!nt 2.5论坛整合说明

浅析Linux中使用nohup及screen运行后台任务的示例和区别
详解Linux添加/删除用户和用户组
中文原创博客Adsense点击分析与优化建议
