通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>CGI专区>>正文 新版上线![旧版]
注:打开慢时请稍等

CGI教程(9)编写安全的CGI脚本

http://www.iyit.net  日期:2006-6-12 2:06:00  来源:  点击:
参加讨论】编写安全的CGI脚本

  不管在什么时候,一个程序与网络客户端联系的时候,就有可能客户端会攻击这个程序以获得未授权的访问。即使是无恶意地看看你的脚本也会你的系统的完整型构成危险。出于这种想法,本节教程将教你编写安全的脚本以避免任何的攻击。

  首先要注意eval语句。PERL和Bourne shell语言为用户提供了一个eval命令,它允许你构造一个字符串并且有个注释器来执行这个字符串。这是一个不安全的隐患。我们来观察一下以下的语句,它是用Bource shell编写的:

eval `echo $QUERY_STRING | awk 'BEGIN{RS="&"} {printf "QS_%s\n",$1}' `

  这条语句将查询字符串转换未一系列的可变的设置命令。但是不幸的是,这个脚本可以通过发送给它一个以逗号”;”开头的查询字符串来攻击。看看这有多么的危险!

  其次,不要委任客户端做任何事情。一个品德好的客户端将会避免发送任何带有攻击性的查询字符串给Bourne shell,这样就会避免脚本错误解释字符串而导致一些不安全的事情。但是,”防人之心不可无”,对于哪些品德恶劣的客户端可能就会使用一些特殊的字符串来混淆你的脚本以获得未授权的访问。所以一定不要委托客户端做任何事情。

  还要十分注意popen()和system()的使用。如果你使用任何来自客户端的数据构造一个命令行来调用popen()或者system(),要确信在任何字符之前加一个反斜杆,因为这样会在调用函数之前给Bourne shell以特殊的意义。具体做法你可以利用简短的C函数来实现。

  最后,为了安全起见,关闭服务端附件(SSI)。如果很不幸,你的服务器支持SSI,那么请一定要为你的脚本目录关闭它!这个SSI可能被客户端滥用,他们可以偷看到他们发送的字符串直接输出的脚本。

  本脚本只是概括性质地介绍安全的措施,如果有知道关于安全和WWW的问题,你可以参见一些WWW安全常见问题文本(FAQ)。

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:CGI教程(10)CGI 规范之一
下一篇:CGI教程(8)记录用户记录脚本之二
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
CGI教程(2) CGI教程(3) CGI教程(5)
CGI教程(6) CGI教程(7) CGI教程(8)
CGI教程(5) CGI教学:第一章 cgilib例 CGI教学:第二章 动态创建图像
CGI教学:第三章 计数器的编写方法 CGI教学:第四章 设置Web Server以运行C CGI教学:CGI安全问题(一)
CGI教学:CGI安全问题(二) CGI教学:CGI安全问题(三) CGI教学:CGI安全问题(四)
CGI教学:CGI安全问题(六) CGI教学:CGI安全问题(七) CGI教学:CGI安全问题(八)
CGI教学:CGI常用环境变量 CGI教程(6)调用CGI脚本文件的例子之一 CGI教程(6)调用CGI脚本文件的例子之二
CGI教程(6)调用CGI脚本文件的例子之三 CGI教程(6)调用CGI脚本文件的例子之四 CGI教程(7)解码数据发送给CGI脚本之一
最新更新 热点排行 推荐新闻
CGI教程(2)
CGI教程(3)
CGI教程(5)
CGI教程(6)
CGI教程(7)
CGI教程(2)
CGI教程(3)
CGI教程(5)
CGI教程(6)
CGI教程(7)
CGI教程(8)
CGI教程(5)
CGI教学:第一章 cgilib例
CGI教学:第二章 动态创建图像
CGI教学:第三章 计数器的编写方法
CGI动态创建图象
CGI测试
CGI教程-解码数据发送给CGI脚本
Perl教学 模式匹配
利用CGI方式实现Web查询
QQ密码本地破解
msn8.0下载
PPLive最新内部版本揭密
珊蝴虫QQ探测隐身的招式用法
Visual Basic 概述
exeplorer.exe错误的问题的总结、解决
Authorware7.0基础与实例教程连载 第5
解决Windows中的explorer.exe出错
Windows常见文件修复技巧
Photoshop打造美女性感纹身(2)
Windows下的虚拟主机设置全功略
危险无处不在 Html标签带来的安全隐患
网络游戏是06年互联网最具发展潜力业务
巧用ACDSee 8.0截取QQ表情每一帧
解除瑞星 诺顿遗留下的杀毒兼容问题
第一款开源AJAX安全扫描工具Sprajax
WinRAR人性化功能揭密
在ASP.NET中防止注入攻击
用ASP.NET开发Web服务的五则技巧
Linux操作系统12则经典应用技巧
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息