精选国内外互联网行业最新文章及报告,让网友获得最新的海内外互联网动态
CGI的安全问题
2015-01-20 11:45 来源: 编辑:admin
CGI中最常见的漏洞是由于未验证用户输入参数而引起的问题。CGI 脚本一般从 URL 、表单或路径信息(Path Information)中获取用户的请求信息。 Web 程序开发人员容易习惯性认为用户会按照要求的格式输入数据,并在这个假定的前提下开发程序,而当这个前提没有满足时,程序的控制逻辑就可能发生错误。对于攻击者来说,他们总能找到一些开发人员未料到的发送数据的方法。
CGI程序中经常会使用路径信息填充 PATH_INFO 或其他环境变量,路径信息通常指 Web 服务器上的那些如配置文件、临时文件或者被脚本因问题调用的文件等此类不用变更的参数。但 PATH_INFO 变量是可以通过其他方式修改的,因而在使用时必须小心地验证其内容,盲目地根据 PATH_INFO 指定的路径文件进行操作的 CGI 脚本可能会被恶意用户利用。
例如,某个 CGI 脚本的功能是打印 PATH_INFO 中引用的文件,脚本程序如下所示:
源码复制打印
#!/bin/sh
#Send the header
echo "Content-type:text/html"
echo ""
#Wrap the file in some HTML
#!/bin/sh
echo "<HTML><HEADER><TITLE>FILE</TITLE></HEADER></TITLE>"
echo "Here is the file you requested:<PRE>\n"
cat $PATH_INFO
echo "</PRE></BODY></HTML>"
一个恶意的用户可能会输入这样的 URL:
http://www.bitsCN.com /cgi-bin/foobar.sh/etc/passed
上述脚本立刻就会返回机器的口令文件。通过这一方法,用户就可以读取机器上的几乎所有文件。
在使用 CGI 进行 Web 应用开发时,有一些应该遵循的重要原则。
1.按照帮助文件正确安装 CGI 程序,删除不必要的安全文件和临时文件。
2.检查 CGI 代码,检查其来源是否可靠、是否存在漏洞或恶意代码。
3.使用 C/C++ 编写 CGI 程序时,注意使用安全的函数。
4.使用安全有效的验证用户的方法。
5.验证用户的来源,防止用户短时间内过多动作。
6.建议过滤下列字符:& ; · 、“ | * ? ~ <> ^ () [] {} $ \n \r \t \0 # ../ 。
7.注意处理好意外和错误情况。
CGI程序中经常会使用路径信息填充 PATH_INFO 或其他环境变量,路径信息通常指 Web 服务器上的那些如配置文件、临时文件或者被脚本因问题调用的文件等此类不用变更的参数。但 PATH_INFO 变量是可以通过其他方式修改的,因而在使用时必须小心地验证其内容,盲目地根据 PATH_INFO 指定的路径文件进行操作的 CGI 脚本可能会被恶意用户利用。
例如,某个 CGI 脚本的功能是打印 PATH_INFO 中引用的文件,脚本程序如下所示:
源码复制打印
#!/bin/sh
#Send the header
echo "Content-type:text/html"
echo ""
#Wrap the file in some HTML
#!/bin/sh
echo "<HTML><HEADER><TITLE>FILE</TITLE></HEADER></TITLE>"
echo "Here is the file you requested:<PRE>\n"
cat $PATH_INFO
echo "</PRE></BODY></HTML>"
一个恶意的用户可能会输入这样的 URL:
http://www.bitsCN.com /cgi-bin/foobar.sh/etc/passed
上述脚本立刻就会返回机器的口令文件。通过这一方法,用户就可以读取机器上的几乎所有文件。
在使用 CGI 进行 Web 应用开发时,有一些应该遵循的重要原则。
1.按照帮助文件正确安装 CGI 程序,删除不必要的安全文件和临时文件。
2.检查 CGI 代码,检查其来源是否可靠、是否存在漏洞或恶意代码。
3.使用 C/C++ 编写 CGI 程序时,注意使用安全的函数。
4.使用安全有效的验证用户的方法。
5.验证用户的来源,防止用户短时间内过多动作。
6.建议过滤下列字符:& ; · 、“ | * ? ~ <> ^ () [] {} $ \n \r \t \0 # ../ 。
7.注意处理好意外和错误情况。
- 标签
延伸阅读
网友评论
1111
网络安全热门文章
- 亚马逊等智能音箱“偷听”用户
12-27
- 研究:19亿账户被盗 25%仍可登陆
11-15
- [视频]AVGater漏洞曝光:杀软“
11-14
- 美国土安全部教你黑进飞机 这次
11-14
- 英国政府威胁要关闭流行的比特币
11-14
- 遭遇数据泄露事件后 Equifax面临
11-12
- 银行柜台试水“刷脸”防范冒名欺
11-10
- [图]虚假微软应用借助Google搜索
11-10
- 调查:5名安全专业人员中就有1名
11-09
- 美国女子送修iPhone:机内私照遭
11-08
- 网络安全最近更新