潮汕职业技术学院网络与信息化中心移动版

返回 > 技术专区 >

应用漏洞风险自查指南

1、任意文件上传
漏洞描述:一般情况下文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。文件上传本身是web中最为常见的一种功能需求,关键是文件上传之后服务器端的处理、解释文件的过程是否安全。
风险分析:攻击者直接上传webshell到服务器,从而远程控制服务器。
加固建议:

  1. 验证文件名后缀,限制上传(php、jsp、aspx)等脚本程序;
  2. 设置上传白名单,只允许上传白名单(jpg、png、gif)等文件类型;
  3. 设置文件存储目录权限,禁止文件上传目录进行脚本解析。
2、SQL注入漏洞
漏洞描述:由于用户的输入, 也是SQL语句的一部分, 所以攻击者可以利用这部分可以控制的内容, 注入自己定义的语句, 改变SQL语句执行逻辑, 让数据库执行任意自己需要的指令。
风险分析:通过控制部分SQL语句, 攻击者可以查询数据库中任何自己需要的数据, 利用数据库的读写文件等特性, 可以直接获取数据库服务器的系统权限。
加固建议:

  1. 对与数据库进行交互的用户请求数据,要先做过滤,防止SQL注入。
  2. 对于整数,判断变量是否符合[0-9]的值;其他限定值,也可以进行合法性校验
  3. 对于字符串,对SQL语句特殊字符如(单引号、双引号、星号等)进行转义,关于这点,PHP有类似的转义函数mysql_escape_string和mysql_real_escape_string。
  4. 采用sql语句预编译和参数化查询 ,能够有效的避免SQL注入漏洞。
3、跨站脚本漏洞
漏洞描述:跨站脚本攻击,它指的是恶意攻击者往Web页面里插入恶意html代码。
风险分析:当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到攻击者的特殊目的。
加固建议:

  1. 验证所有输入数据,有效检测攻击;
  2. 对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行
4、应用逻辑漏洞
  • 弱口令
漏洞描述:认证登录环节存在弱口令
风险分析:攻击者可利用互联网公开的常见弱口令尝试登录管理后台,进一步发起攻击行为。
加固建议:满足密码复杂度要求,口令须满足大小写英文字母、数字、特殊字符3种以上组成、长度不少于8位。

  • 验证码绕过
漏洞描述:图形验证码一般是防止使用程序恶意注册、暴力破解用户名密码或者批量行为而设置的,图形验证码可被绕过,可进行执行暴力破解等操作。
风险分析:
加固建议:

  1. 注意验证识别后销毁验证码。
  2. 限制用户提交的验证码不能为空
  3. 判断提交的验证码与服务器上存储的是否一致
  4. 禁止将验证码明文信息发送至客户端
  • 暴力破解
漏洞描述:攻击者可利用该漏洞进行无限次撞库,爆破等操作,严重会导致用户名密码被攻击者获取。
风险分析:攻击者一般会使用自动化脚本组合出常见的用户名和密码,即字典,再结合攻击工具进行暴力破解
加固建议:

  1. 所有账号密码登录功能,增加有效的图形验证码。
  2. 验证码字符串每使用一次之后必须释放,避免被重复利用;
  3. 增加验证码图形识别难度,避免被脚本自动识别。
  • 越权
漏洞描述:指应用在检查授权(Authorization)时存在纰漏,使得攻击者在获得低权限用户帐后后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能
风险分析:目前存在着两种越权操作类型:横向越权操作和纵向越权操作。前者指的是攻击者尝试访问与他拥有相同权限的用户的资源;而后者指的是一个低级别攻击者尝试访问高级别用户的资源。   
加固建议:
1)对用户操作进行权限校验,防止通过修改参数进入未授权页面及进行非法操作,
2)在服务端对请求的数据和当前用户身份做校验检查
5、命令执行漏洞

  • Apache Shiro
漏洞描述:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。
风险分析:Apache Shiro历史版本存在多个严重的远程代码执行漏洞,可导致服务器被黑客入侵。
加固建议:不影响业务的前提下,升级到最新版本。下载地址:http://shiro.apache.org/download.html 。

  • Apache Struts2
漏洞描述:Apache Struts2是一种国内使用非常广泛的Web应用开发框架,被大量的Web网站所使用。
风险分析:漏洞由于框架设计缺陷会造成RCE远程代码执行,恶意攻击者可通过修改HTTP请求中的参数执行恶意代码。
加固建议:对于使用第三方框架的应用,我们建议尽量查看官方文档,升级框架到最新版本。

  • Oracle Weblogic
漏洞描述:WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件。
风险分析:Oracle Weblogic历史版本存在多个严重的远程代码执行高危漏洞,可导致服务器被黑客入侵。
加固建议:及时获取和安装WebLogic官方补丁。

  • Apereo CAS 远程代码执行漏洞
漏洞描述:Apereo CAS在v4.1.x和v4.2.x版本中存在密钥硬编码导致的严重的远程代码执行漏洞,参考https://apereo.github.io/2016/04/08/commonsvulndisc
风险分析:攻击者可以利用该漏洞远程代码执行,进而获取服务器权限。
加固建议:检查并升级Apereo CAS版本。下载地址:https://github.com/apereo/cas

  • Fastjson
漏洞描述:fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean,由于具有执行效率高的特点,应用范围广泛,fastjson多个版本存在安全漏洞。
风险分析:攻击者可以利用该漏洞导致受害机器上的远程代码执行
加固建议:将fastjson升级到最新版本,下载地址:https://repo1.maven.org/maven2/com/alibaba/fastjson/

  • WebSphere
漏洞描述:WebSphere 是 IBM的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere Application Server是该设施的基础,其他所有产品都在它之上运行,可以允许远程攻击者通过iiop协议传输精心构造的序列化数据,在系统上执行任意代码。
风险分析:远程攻击者可以构造恶意的认证请求,在目标服务器造成远程特权提升,并执行恶意代码,获取系统权限。
加固建议:可以通过运行IBM Installation Manager 进行更新,根据程序提示进行补丁下载、漏洞修复的工作,也可以前往官方地址,手动进行补丁下载、漏洞修复的工作:
https://www.ibm.com/support/pages/node/6118222
https://www.ibm.com/support/pages/node/6174417

  • JBOSS
漏洞描述:jboss是一个基于J2EE的开放源代码的应用服务器, jboss多个版本存在因访问控制不严导致的漏洞、反序列化漏洞进而导致攻击者可以进行远程命令执行漏洞
风险分析:攻击者可以进行远程命令执行漏洞,获取服务器权限
加固建议:将Jboss更新到官方最新版本

  • Spirng FrameWork
漏洞描述:Spring Framework 是一个 Java/Java EE/.NET 的分层应用程序框架,提供了一种简易的开发方式。Spring Framework 多个版本存在安全漏洞
风险分析:攻击者可以反射型文件下载,远程代码执行漏洞等方式获取服务器权限
加固建议:目前官方已在新版本中修复了该漏洞,请受影响的用户升级版本进行防护,官方下载链接:https://github.com/spring-projects/spring-framework/releases

  • Apache Tomcat
漏洞描述:Apache Tomcat是美国阿帕奇(Apache)软件基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持; Apache Tomcat多个版本存在安全漏洞。
风险分析:攻击者可以利用文件包含、远程命令执行、反序列化等漏洞获取服务器权限。
加固建议:目前官方已在最新版本中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:https://tomcat.apache.org/



(责任编辑:csxyweb)
标签: