首页 > 开发 > PHP > 正文

堵塞Web漏洞(中)

2024-05-04 22:57:19
字体:
来源:转载
供稿:网友


●其它错误
此外,还有一些其它难以归类的错误,如“非1即0”导致绕过认证的问题。

9.2.3 常用的的cgi漏洞检测工具

1.twwwscan

这个工具速度比较快,而且可以利用参数把windows系统和unix系统分开扫描,不使用图形界面,比较简单些;

2.cis

是个图形化的小巧扫描工具,主要是针对windows系统设计,对检查出来的cgi问题有比较详细的描述,利于使用、分析和解决漏洞;

3.voideye

图形界面做的比较花哨,可以检查的cgi问题比较多些,但不太准确。

4.webscan

检查种类特多,好象有300来条,能提供html格式报告,集合了一些跟随攻击方式,这些工具只是检查一下服务器有没有这个链接存在,如果有,就会报出存在漏洞,这当然会有很多误报,工具是死的,人是活的,熟练应用这些辅助工具需要点时间熟悉一下就行了。

9.2.4 如何让你的cgi更安全

了解了cgi的安全问题,我们也该知道怎么加强cgi的安全了吧?下面简单总结一下作为参考:

1.使用最新版本的web服务器,安装最新的补丁程序,正确配置服务器;

2.按照帮助文件正确安装cgi程序,删除不必要的安装文件和临时文件;

3.使用c编写cgi程序时,使用安全的函数;

4.使用安全有效的验证用户身份的方法;

5.验证用户的来源,防止用户短时间内过多动作;

6.推荐过滤“& ; ` ' / ” | * ? ~ < > ^ ( ) [ ] { } $ /n /r /t /0 # ../;

7.注意处理好意外情况;

8.实现功能时制定安全合理的策略;

9.培养良好的编程习惯;

10.科学严谨的治学态度,避免“想当然”的错误;

9.3asp的安全性

asp(active server page) ,一个重要的web技术。它的出现给互联网带来了新的活力,它以一种前所未有的方式处理浏览器与服务器的交互通过内建对象、ado支持、wsh(可通过它管理nt domain)几乎可以完成传统应用程序所能完成的一切工作!!

asp是一种类似html(hypertext markup language超文本标识语言)、script与cgi(common gateway interface 通用网关接口)的结合体,但是其运行效率却比cgi更高、程序编制也比html更方便且更有灵活性,程序安全及保密性也比script好。如果您是第一次接触互连网(internet),那么您可能不很了解上述名词,以下对各种名词加以解释并说明它们之间的区别。

html(hypertext markup language)是一种超文本标识语言,文件通过这种格式可以在互连网上载送浏览,用户只要使用网页浏览器工具就可以浏览这些文件,目前比较常用的工具包括microsoft internet explorer,netscape communicator等,由于html文件都是由标签(tag)所组成,因此它比较适合制作静态网页,再者,由于先天上的限制html是无法直接存取数据库的,所以存取数据库的工作大多是依靠cgi来处理。asp不但可以包含html标签,也可以直接存取数据库及使用无限扩充的activex控件,因此在程序编制上要比html方便而且更富有灵活性。

简单讲,asp是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 web 服务器应用程序,如交互式的动态网页,包括使用 html 表单收集和处理信息,上传与下载等等,就像用户在使用自己的cgi程序一样。但是他比cgi简单。更重要的是,asp使用的activex技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的cgi等程序所远远不及的地方。使用asp还有个好处,就在于asp可利用ado(active data object,微软的一种新的数据访问模型,类似于dao)方便地访问数据库,从而使得开发基于www的应用系统成为可能。

9.3.1 asp漏洞分析和解决方法

asp的漏洞已经算很少的了,想要找到数据库的实际位置也不简单,但这不表明黑客无孔可入,也正是这个观点,一般的程序设计员常常忘记仔细的检查是否有漏洞,所以才有可能导致网站资料被窃取的事件发生。

asp里面含有一个安全漏洞,就是在/site/eg/source.asp这个随软件一起销售的范例程序,里面的内容有教使用者如何在服务器的这个目录下随意写入档案。解决这个漏洞的方法是建议删除所有软件提供的范例程序。

1.code.asp文件会泄漏asp代码

举个很简单的例子,在微软提供的 asp1.0 的例程里有一个.asp文件 ,专门用来查看其它.asp文件的源代码,该文件为 aspsamp/samples/code.asp。如果有人把这个程序上传到服务器,而服务器端没有任何防范措施的话,他就可以很容易地查看他人的程序。例如:

code.asp source=/directory/file.asp

不过这是个比较旧的漏洞了,相信现在很少会出现这种漏洞。

下面这命令是比较新的:

http://someurl/iissamples/exair/howitworks/code.asp/lunwen/soushuo.asp=xxx.asp

最大的危害莫过于asp文件可以被上述方式读出;数据库密码以明文形式暴露在黑客眼前;

问题解决或建议 :

对于iis自带的show asp code的asp程序文件,删除该文件或者禁止访问该目录即可。

2.filesystemobject 组件篡改下载fat分区上的任何文件的漏洞

iis3、iis4的asp的文件操作都可以通过filesystemobject实现,包括文本文件的读写目录操作、文件的拷贝改名删除等,但是这个强大的功能也留下了非常危险的“后门”。利用filesystemobjet可以篡改下载fat分区上的任何文件。即使是ntfs分区,如果权限没有设定好的话,同样也能破坏,一不小心你就可能遭受“灭顶之灾”。遗憾的是很多webmaster只知道让web服务器运行起来,很少对ntfs进行权限 设置,而nt目录权限的默认设置偏偏安全性又低得可怕。因此,如果你是webmaster,建议你密切关注服务器的设置,尽量将web目录建在ntfs分区上,目录不要设定everyone full control,即使是是管理员组的成员一般也没什么必要full control,只要有读取、更改权限就足够了。也可以把filesystemobject的组件删除或者改名。

3.输入标准的html语句或者javascript语句会改变输出结果

在输入框中输入标准的html语句会得到什么相的结果呢?

比如一个留言本,我们留言内容中输入:

<font size=10>你好!</font>

如果你的asp程序中没有屏蔽html语句,那么就会改变“你好”字体的大小。在留言本中改变字体大小和贴图有时并不是什么坏事,反而可以使留言本生动。但是如果在输入框中写个javascript 的死循环,比如:<a herf=”http://someurl“ onmouseover=”while(1)“>特大新闻</a>

那么其他查看该留言的客人只要移动鼠标到”特大新闻“,上就会使用户的浏览器因死循环而死掉。

解决方法和建议 :

编写类似程序时应该做好对此类操作的防范,譬如可以写一段程序判断客户端的输入,并屏蔽掉所有的 html、 javascrip。

4.access mdb数据库有可能被下载的漏洞

问题描述 :

在用access做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的access数据库的路径和数据库名称,那么他能够下载这个access数据库文件,这是非常危险的。比如:如果你access数据库book.mdb放在虚拟目录下的database目录下,那么有人在浏览器中输入:

http:// someurl/database/book.mdb

如果你的book.mdb数据库没有事先加密的话,那book.mdb中所有重要的数据都掌握在别人的手中。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表