CGI脚本漏洞有哪些方式
时间:2013-8-20
CGI脚本是实现Web交互功能的重要手段,Shell脚本,Perl程序和C可执行程序是CGI脚本最常采用的形式,由于程序编写上的马虎,很多CGI脚本都存在漏洞,根据所收集的漏洞信息,CGI漏洞的危害主要有3种.
1.缓冲区溢出攻击,这种攻击实质是不遵守规则,歪曲或违反而面中建立的某个限制或约束,大部分CGI脚本是作为HTML,表彰的后台运行的,负责处理由用户输入的信息并提供某种定制的输出.因为在这种情况下,大部分CGI脚本编写时都等等某种特定格式的数据,然而,黑客可以有许多方法绕过这些预定义的格式而给脚本发送一些看起来是随机的数据,此时,由于CGI脚本可能在对输入数据的有效性的判定上存在不足,缺少全面的输入验证和净化,导致攻击者能够将特殊的字符和本地系统命令结合起来,作为参数输入,从而使得Web服务器执行这个命令.
2.数据验证型溢出攻击,由于CGI程序本身或程序调用的函数缺乏对用户输入数据的合法性检查,未能小队一些特殊字符,使得入侵者可以通过构造请求来达到入侵目的,比如缺少对用户输入数据的合法性检查,未能小队一些特殊字符,使得入侵者可以通过构造请求来达到入侵的目的,比如缺少对"../"的过滤,可能导致入侵者读取系统的任意文件.
3.信息漏泄.一些CGI程序所提供的功能自身违背安全性要求,如损害了信息的保密性,极易被入侵者利用.漏洞描述,当URL请求的文件不存在时,webpage.cgi会向客户端浏览器返回某些敏感信息,比如脚本所在路径,HTTP根目录所在路径,Perl版本,server_admin,server_name,PATH环境变量等,这就可以为进一步的攻击做准备.