手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>服务器技术>Web服务器>列表

堵塞Web漏洞(上)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

先从CGI问题的分类开始谈起,一般来说,CGI问题主要有以下几类:

1、暴露敏感或不敏感信息;

2、缺省提供的某些正常服务未关闭;

3、利用某些服务漏洞执行命令;

4、应用程式存在远程溢出;

5、非通用CGI程式的编程漏洞。

下面我们就来周详介绍一下关于CGI的漏洞:

●配置错误

这里所说的配置错误主要指CGI程式和数据文档的权限配置不当,这可能导致CGI源代码或敏感信息泄露。更有一个经常犯的错误就是安装完CGI程式后没有删除安装脚本,这样攻击者就可能远程重置数据。前些日子“XX大联盟”论坛多次被黑就是这个低级错误所致。

●边界条件错误

这个错误主要针对C语言编写的CGI,利用这个错误,攻击者可能发起缓冲区溢出攻击,从而提升权限。

●访问验证错误

这个问题主要是因为用于验证的条件不足以确定用户的身份而造成的,经常会导致未经授权访问,修改甚至删除没有访问权限的内容。用于确定用户身份的方法一般有两种,一是账号和密码,一是Session认证。而不安全的认证方法包括Userid认证,Cookie认证等等。

●来源验证错误

比较常见的利用这种错误进行攻击的方法就是DoS,也就是拒绝服务攻击,如我们知道的灌水机,就是利用CGI程式没有对文章的来源进行验证,从而不间断的发文章,最后导致服务器硬盘充满而挂起。

●输入验证错误

这种错误导致的安全问题最多,主要是因为没有过滤特别字符。比如说,没有过滤“ ”造成的畸形注册,没有过滤“../”经常造成泄露系统文档,没有过滤“$”经常导致泄露网页中的敏感信息,没有过滤“;”经常导致执行任意系统指令,没有过滤“|”或“\t”经常导致文本文档攻击,没有过滤“’”和“#”经常导致SQL数据库攻击,没有过滤“<”和“>”导致的Cross-SiteScripting攻击等。

●意外情况处理失败

这种错误也很常见,如没有检查文档是否存在就直接打开设备文档导致拒绝服务,没有检查文档是否存在就打开文档提取内容进行比较而绕过验证,上下文攻击导致执行任意代码等。

●策略错误

这种错误主要是由于编制CGI程式的程式员的决策造成的。如原始密码生成机制脆弱导致穷举密码导致在Cookie中明文存放账号密码导致敏感信息泄露,使用和CGI程式不同的扩展名扩展名存储敏感信息导致该文档被直接下载,丢失密码模块在确认用户身份之后直接让用户修改密码而不是把密码发到用户的注册信箱,登陆时采用账号和加密后的密码进行认证导致攻击者无需知道用户的原始密码就能够登陆等。

●习惯问题

程式员的习惯也可能导致安全问题,如使用某些文本编辑器修改CGI程式时,经常会生成“.bak”文档,假如程式员编辑完后没有删除这些备份文档,则可能导致CGI源代码泄露。另外,假如程式员总喜欢把一些敏感信息(如账号密码)放在CGI文档中的话,只要攻击者对该CGI文档有读权限(或利用前面介绍的一些攻击方法)就可能导致敏感信息泄露。

●使用错误

主要是一些函数的使用错误,如Perl中的“die”函数,假如没有在错误信息后面加上“\n”的话,就极可能导致物理路径泄露。


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!