Web TOP 10 漏洞

1.注入漏洞

  1. 注入漏洞因其普遍性和严重性一直居于漏洞排行榜的第一位,常见的注入有:SQL,LDAP,OS命令,ORM和OGNL。用户可以通过任何可输入的点输入构造的恶意代码,若应用程序对用户的输入过滤不严,一旦将输入的恶意代码作为命令或查询的一部分发送到解析器,则可能会导致注入漏洞的产生。
  2. 以SQL注入为例,它是由于攻击者通过浏览器或者其他客户端将恶意的SQL语句插入网站参数中,而网站应用程序未经过滤,直接将恶意SQL语句带入数据库进行执行,最后导致可以通过数据库获取敏感的信息或者执行其他恶意操作。

2.跨站脚本(XSS)漏洞

  1. XSS漏洞全称是跨站脚本漏洞,为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本漏洞缩写为XSS。XSS漏洞是一种在Web应用中常见的安全漏洞,它允许用户将恶意代码植入Web页面中,当其他用户访问此页面时,植入的恶意脚本就会在其他的用户客户端中执行。
  2. XSS漏洞的危害很多,可以通过XSS漏洞获取客户端用户的信息,比如用户登录的Cookie信息,可以通过XSS蠕虫进行信息传播;可以在客户端中植入木马;可以结合其他漏洞攻击服务器,在服务器中植入木马等。

3.文件上传漏洞

  1. 文件上传漏洞发生在有上传功能的应用中,如果应用程序对用户的上传文件没有控制或者存在缺陷,攻击者可以利用应用上传功能存在的缺陷,上传木马和病毒等有危害性的文件到服务器,进而控制服务器。
  2. 文件上传漏洞产生的主要原因是:应用中存在上传功能,但是上传的文件没有经过严格的合法性检验或者检验函数存在缺陷,导致可以上传木马文件到服务器。
  3. 文件上传漏洞危害极大,因为可以直接上传恶意代码到服务器上,可能会造成服务器的网页篡改,网站被挂马,服务器被远程控制和被安装后门等严重后果。
  4. 文件上传漏洞主要是通过前端JS绕过,文件名绕过和Content-Type绕过等几种方式进行恶意代码上传。

4.文件包含漏洞

  1. 文件包含函数包含的文件参数没有经过过滤或者严格的定义,并且参数可以被用户控制,就可能包含非预期的文件。如果文件中含有恶意代码,无论文件是什么样的后缀类型,文件内的恶意代码都会被解析执行,就导致了文件包含漏洞的产生。
  2. 文件包含漏洞可能会造成服务器的网页篡改,网站挂马,远程控制服务器,安装后门等危害。

5.命令执行漏洞

  1. 应用程序的某些功能需要调用可以执行系统命令的函数,如果这些函数或者函数的参数能被用户控制,就可能通过命令连接符将恶意命令拼接到正常的函数中,从而随意执行系统命令,这就是命令执行漏洞,它属于高危漏洞之一。

6.代码执行漏洞

  1. 应用程序中提供了一些可以将字符串作为代码执行的函数,比如PHP中的eval()函数,可以将函数中的参数当作PHP代码来执行,如果这些函数的参数控制不严格,可能会被利用,造成任意代码执行。

7.XML外部实体(XXE)漏洞

  1. XML外部实体(XML,External Entity,XXE)漏洞产生的原因是应用程序解析XML时,没有过滤外部实体的加载,导致加载了恶意的外部文件,造成命令执行,文件读取,内网扫描,内网应用攻击等危害。

8.反序列化漏洞

  1. 为了有效的存储或传递数据,同时不丢失其类型和结构,经常需要序列化和反序列化的函数对数据进行处理。
  2. 序列化:返回字符串,此字符串包含了表示value的字节流,可以存储于任何地方。
  3. 反序列化:对单一的已序列化的变量进行操作,将其转换回原来的值。
  4. 这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性,但是不安全的反序列化会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行,攻击者也可以利用它们来执行攻击,包括重播攻击,注入攻击和特权升级攻击。

9.SSRF漏洞

  1. 服务端请求伪造(Server-Side Request Forge,SSRF)漏洞,攻击者利用SSRF漏洞通过服务器发起伪造请求,这样就可以访问内网的数据,进行内网信息探测或者内网漏洞利用。
  2. SSRF漏洞形成的原因是应用程序存在可以从其他服务器获取数据的功能,但是服务器的地址并没有做严格的过滤,导致应用程序可以访问任意的URL链接,攻击者通过精心构造URL链接,可以利用SSRF漏洞进行以下攻击:
  • 可以通过服务器获取内网主机,端口和Banner信息
  • 对内网的应用程序进行攻击,如Redis,Jboss等
  • 利用file协议读取文件
  • 可以攻击内网程序并造成溢出

10.解析漏洞

  1. Web容器解析漏洞会将其他类型的文件都当做该脚本语言的文件进行解析,执行里面的代码。Web容器解析漏洞产生的原因是web容器存在漏洞,导致在解析恶意构造的文件时,无论此文件是什么类型的文件,都会执行里面的代码。
  2. Web容器解析器漏洞的危害极大,会造成服务器被远程控制,网页篡改,网站挂马,植入木马等危害。
  3. 一般解析漏洞都是配合文件上传的功能进行利用,常见的Web容器有IIS,Nginx,Apache,Tomcat和Lighttpd等。