WEB漏洞概述

物理路径泄露:

物理路径泄露一般是由于WEB服务器处理用户请求出错导致的,如通过提交一个超长的请求,或者是某个精心构造的特殊请求,亦或是请求一个WEB服务器上不存在的文件。这些请求都有一个共同特点,那就是被请求的文件肯定属于CGI脚本,而不是静态HTML页面。
还有一种情况,就是WEB服务器的某些显示环境变量的程序错误的输出了WEB服务器的物理路径,这应该算是设计上的问题。

CGI源代码泄露:

CGI源代码泄露的原因比较多,例如大小写,编码解码,附加特殊字符或精心构造的特殊请求等都可能导致CGI源代码泄露。

目录遍历:

目录遍历对于WEB服务器来说并不多见,通过对任意目录附加“…/”,或者是在有特殊意义的目录附加“…/”,或者是附加“…/”的一些变形,如“…\”或“…//”甚至其编码,都可能导致目录遍历。前一种情况并不多见,但是后面的几种情况就常见得多,去年非常流行的IIS二次解码漏洞和UNICODE解码漏洞都可以看作是变形后的编码。

执行任意命令:

执行任意命令即执行任意操作系统命令,主要包括两种情况。一是通过遍历目录,如前面提到的二次解码和UNICODE解码漏洞,来执行系统命令。另外一种就是WEB服务器把用户提交的请求作为SSI指令解析,因此导致执行任意命令。

ü缓冲区溢出:

缓冲区溢出漏洞想必大家都很熟悉,无非是WEB服务器没有对用户提交的超长请求没有进行合适的处理,这种请求可能包括超长URL,超长HTTP Header域,或者是其它超长的数据。这种漏洞可能导致执行任意命令或者是拒绝服务,这一般取决于构造的数据。

拒绝服务:

拒绝服务产生的原因多种多样,主要包括超长URL,特殊目录,超长HTTP Header域,畸形HTTP Header域或者是DOS设备文件等。由于WEB服务器在处理这些特殊请求时不知所措或者是处理方式不当,因此出错终止或挂起。

条件竞争:

这里的条件竞争主要针对一些管理服务器而言,这类服务器一般是以system或root身份运行的。当它们需要使用一些临时文件,而在对这些文件进行写操作之前,却没有对文件的属性进行检查,一般可能导致重要系统文件被重写,甚至获得系统控制权。

跨站脚本执行漏洞:

由于网页可以包含由服务器生成的、并且由客户机浏览器解释的文本和 HTML 标记。如果不可信的内容被引入到动态页面中,则无论是网站还是客户机都没有足够的信息识别这种情况并采取保护措施。攻击者如果知道某一网站上的应用程序接收跨站点脚本的提交,他就可以在网上上提交可以完成攻击的脚本,如JavaScript、VBScript、ActiveX、HTML 或 Flash 等内容,普通用户一旦点击了网页上这些攻击者提交的脚本,那么就会在用户客户机上执行,完成从截获帐户、更改用户设置、窃取和篡改 cookie 到虚假广告在内的种种攻击行为。

SQL注入:

对于和后台数据库产生交互的网页,如果没有对用户输入数据的合法性进行全面的判断,就会使应用程序存在安全隐患。用户可以在可以提交正常数据的URL或者表单输入框中提交一段精心构造的数据库查询代码,使后台应用执行攻击着的SQL代码,攻击者根据程序返回的结果,获得某些他想得知的敏感数据,如管理员密码,保密商业资料等。

如何有效的防治WEB漏洞,关键是确立安全的体系结构和设计检查单,你如果现在正在测试WEB方面的软件,试下上面提到的思路,你会发现很多有意思的Bug_

你可能感兴趣的:(网络基础知识)