



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CGI中的网络安全CGI的全称是Common Gateway Interface,即通用网关接口,是外部程序和HTTP服务器进行信息交互的一种标准,当前的版本是CGI/1.1。由于它是实时执行的,所以它返回的信息也是动态的,它也是当前网络上应用最广的Web应用,它既可以使用C,Pascal等编译型语言,也可以使用Perl,PHP等解释型语言来。CGI是可执行的,也就是说是让别人在你的服务器上运行程序的,这当然不是很安全的。所以在使用CGI之前要做充分的安全准备工作。首先它们必须处于特定的目录(一般情况是/cgi-bin/),以便于服务器去执行它们而不是简单的返回给浏览器。这个目录应该直接置于管理员管理之下,用户编写的程序必须由管理员来设定。编译过的程序一般比解释执行的程序有更高的安全性,首先用户不可能取得你的源程序,尽管一个正确配置的服务器是不会返回源程序,但是泄漏源程序的可能总是存在的,一旦你的源程序被Hacker们所熟知,那么就越容易被人攻破。(例如,你用一个编辑器修改了程序,那么这个编辑器会留下一个备份,此时用户就可以通过http:/server/*.cgi来得到你的源程序),当然,在网上可以找到很多CGI的C的源程序,即便是编译过的程序也不一定是百分之百保险的。使用编译过的程序另外一个好处是,无论是PERL或者PHP或者别的解释器它们都是包含着很多Bug的,这些Bug无论我们知道或者不知道,它们都在那里。第三个好处就是解释性语言都是调用系统命令并返回值的,这样很容易给不怀好意者输入特定的字符串来攻击你的系统。但在C程序中,要想通过发送特定字符串来执行Shell命令几乎是不可能的。当然在C程序也存在着很多由于设计者原因所造成的可以被攻击的地点。新版本的解释器也往往修正了很多Bug,并提供了很多捕捉安全漏洞的工具。不要轻易使用从网上得到的Script,越复杂的程序中包含的漏洞可能性越大;其次确认这个程序是否读写本机的文件,如果读写的话可能会给服务器的文件带来不可预测的损失;再次查看是否使用了本机的程序,若是的话容易被人利用来搞破坏;再看是否以suid权限运行,这对系统是非常危险的;最后看程序是否检测用户的输入,检测输入是保证系统安全的一个必备的步骤。如果在开发工程中,那么绝对不要让别人知道你的主机,如上所述,此时程序最有可能泄漏出去(尽管不一定是最新的);其次一定不能假设用户输入了多少内容,如下面一个例子:#include #include static char query_string1024;char* read_POST() int query_size; query_size=atoi(getenv(CONTENT_LENGTH); fread(query_string,query_size,1,stdin); return query_string; 如果用户输入的内容超过了1024个字节,内存越界一般会造成程序异常中止,在某种情况下可以使Hacker从远程运行本机的程序,这也是攻击的常用手段,应该动态的分配内存。跟溢出有关的是,绝对不要使用strcpy类的函数,这类函数直接拷贝知道碰到NULL,而应该用strncpy类的函数,确定不会发生越界错误。最重要的一点是,千万不能在不检查用户输入的情况下直接把它传递给系统程序。尤其在攻击中,最常用的是包含&;|*?()$nr这些特殊字符,一定要滤掉这些字符。在CGI中,永远不要用相对路径来执行程序,例如system(ls -l /local/web/foo),应该改为system(/bin/ls -l /local/web/foo);如果必须使用相对路径,那么在执行前应该就该环境变量,如putenv(PATH=/bin:/usr/bin:/usr/local/bin)。使用接口来调用CGI有利有弊,用户只有通过接口才能调用CGI,由于以往Server执行CGI时是以Server的User ID(“nobody”)运行的,这样管理员很难定位错误,而通过接口CGI只能以某个用户的ID来运行,这样不至于对系统造成致命的破坏,事情是相对的,由于CGI有某个用户的ID,那么就可以通过这个程序来删除该用户的文件或者给该用户设置木马。不要迷信限制某些IP或者用户才能使用CGI能够解决问题,因为你不能够控制这个CGI程序怎么被调用。因为一个CGI程序可以被任意的表单调用,或者干脆直接输入URL,永远不要假设程序只被你写的表单调用,在执行之前一定要检查参数。用户不能修改隐藏域中的值,这个看法也是错误的,当HTML文件传到客户端的时候,用户可以简单的修改它,然后把他们想要的数据发送给你,所以信任隐藏域。使用Post方法可以更安全?当然,Post数据不会出现在URL中,但是从安全角度来讲,他们的安全系数都是一样的,监听Po
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兰花插花艺术创新创业项目商业计划书
- 反射炉工技能比武考核试卷及答案
- 工艺品雕刻工岗位操作技能考核试卷及答案
- 半导体芯片制造工晋升考核试卷及答案
- 信号设备制造钳工基础知识考核试卷及答案
- 职业健康知识培训证明课件
- 职业健康知识培训目标课件
- 考点攻克自考专业(市场营销学)测试卷及完整答案(有一套)
- 职业健康知识培训感悟
- 基础强化青岛版8年级数学下册期末测试卷及参考答案详解(达标题)
- 实验室用危化品的管理
- 路试作业安全操作规程(4篇)
- keycloak中文使用文档-Keycloak使用手册(打印版)
- 手术标本固定
- 人美版美术七年级上册第二单元《第2课 心灵的色彩》教学设计
- 舞蹈家长会课件
- 2024-2025学年中职历史世界历史高教版(2023)教学设计合集
- 【完整打印版】教科版小学科学四年级上册教案(表格)
- 港珠澳大桥总体设计及关键技术-课件
- NB-T 10435-2020 电动汽车快速更换电池箱锁止机构通.用技术要求
- gcp机构办公室工作计划
评论
0/150
提交评论