渗透报告详解库

Penetration-Test-Report

来自Sirius Wiki

跳转至: 导航, 搜索

目录

  • 1 渗透报告详解库
    • 1.1 高危
      • 1.1.1 跨站脚本攻击漏洞
      • 1.1.2 FTP匿名登录
      • 1.1.3 程序逻辑设计缺陷
      • 1.1.4 HTTP 头跨站脚本攻击漏洞
      • 1.1.5 SQL 注入漏洞
      • 1.1.6 HTTP 头部 SQL 注入漏洞
      • 1.1.7 SQL 语句暴露漏洞
      • 1.1.8 ElasticSearch Groovy 远程命令执行
      • 1.1.9 URL 重定向漏洞
      • 1.1.10 文件目录遍历漏洞
      • 1.1.11 文件上传功能绕过漏洞
      • 1.1.12 IIS6.0 解析漏洞
      • 1.1.13 平行越权漏洞
      • 1.1.14 Flash 安全配置缺陷漏洞(Flash 跨域攻击)
      • 1.1.15 Flash 跨站脚本攻击漏洞
      • 1.1.16 WebLogic "Java 反序列化" 过程远程命令执行漏洞
      • 1.1.17 WebLogic 反序列化漏洞补丁绕过
      • 1.1.18 CRLF 注入漏洞
      • 1.1.19 SSRF 漏洞
      • 1.1.20 JBoss 管理平台代码执行漏洞
      • 1.1.21 JBoss “Java 反序列化”过程远程命令执行漏洞
      • 1.1.22 Struts 2 命令执行漏洞
      • 1.1.23 Struts 2 Devmode 命令执行漏洞
      • 1.1.24 HTTP.sys 远程代码执行漏洞
      • 1.1.25 (后台)用户弱口令漏洞
      • 1.1.26 Apache Tomcat JSP 示例跨站点脚本编制
      • 1.1.27 未授权访问漏洞
      • 1.1.28 用户身份敏感信息泄露
      • 1.1.29 敏感文件信息泄露
      • 1.1.30 任意文件下载
      • 1.1.31 任意文件读取
      • 1.1.32 任意文件上传
      • 1.1.33 任意账户密码重置漏洞
      • 1.1.34 任意手机号码注册漏洞
      • 1.1.35 网站历史备份文件
      • 1.1.36 发现隐藏黑页
      • 1.1.37 短信任意内容控制漏洞
      • 1.1.38 FCKeditor编辑器文件上传漏洞
      • 1.1.39 Redis 未授权访问漏洞
      • 1.1.40 XML 实体注入漏洞
      • 1.1.41 短信验证码回显漏洞
      • 1.1.42 Git 源码信息泄露
    • 1.2 中危
      • 1.2.1 WebLogic 服务器端请求伪造(SSRF)
      • 1.2.2 短信验证码暴力破解漏洞
      • 1.2.3 Web Service 接口泄露
      • 1.2.4 网站存在 PHPINFO 文件
      • 1.2.5 网站存在日志信息文件
      • 1.2.6 网站存在服务器环境探针文件
      • 1.2.7 网站目录浏览
      • 1.2.8 IIS 短文件名暴力破解漏洞
      • 1.2.9 DNS 域传送漏洞
      • 1.2.10 SVN 源码信息泄露
      • 1.2.11 Resin viewfile 远程文件读取漏洞
      • 1.2.12 Apache 示例页面未删除
      • 1.2.13 暴力破解漏洞
      • 1.2.14 网页源代码泄露漏洞
      • 1.2.15 短信炸弹漏洞
      • 1.2.16 邮件炸弹漏洞
      • 1.2.17 用户列表泄露
      • 1.2.18 数据库溢出错误
      • 1.2.19 可被绕过的验证码验证机制
      • 1.2.20 CSRF 跨站请求伪造
      • 1.2.21 基于 DOM 型的 XSS 跨站漏洞
    • 1.3 低危
      • 1.3.1 Apache Tomcat Example 应用信息泄漏
      • 1.3.2 Struts 2 DevMode 模式开启导致敏感信息泄露
      • 1.3.3 UDDI 监听页面泄露
      • 1.3.4 网站安装文件未删除
      • 1.3.5 错误详情泄露
      • 1.3.6 内网地址泄露
      • 1.3.7 可预测用户名
      • 1.3.8 用户手机号码泄露
      • 1.3.9 Microsoft FrontPage 目录列表信息泄露
      • 1.3.10 启用了不安全的HTTP方法
      • 1.3.11 发现中间件默认文件
      • 1.3.12 jQuery 跨站脚本漏洞

渗透报告详解库[编辑]

本库收集了渗透报告中各种漏洞的风险等级以及撰写时需要用到的漏洞描述、漏洞危害、修复方案等。

高危[编辑]

跨站脚本攻击漏洞[编辑]

危害等级:

描述:由于系统没有对漏洞参数进行任何的特殊符号以及敏感字符串的过滤,攻击者可以利用此漏洞往 Web 页面里插入恶意 HTML 代码,当用户浏览该页之时,嵌入其中 Web 里面的 HTML 代码会被执行,从而达到恶意攻击用户的特殊目的,例如网络钓鱼攻击。

修复建议:

  • 过滤”<”、”>”将用户输入放入引号间,基本实现数据与代码隔离。
  • 过滤双引号防止用户跨越许可的标记,添加自定义标记。
  • 过滤 TAB 和空格,防止关键字被拆分。
  • 过滤 JavaScript 相关关键字。
  • 过滤 &#,防止 HTML 属性绕过检查。

FTP匿名登录[编辑]

危害等级:

描述:FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输,用户可通过客户机程序向(从)远程主机上传(下载)文件。攻击者可直接登录ftp服务器下载敏感文件或写入后门,并攻击服务器。

修复建议: 建议更换ftp服务器的弱口令为强口令并禁止匿名登录。

程序逻辑设计缺陷[编辑]

危害等级:

描述:由于开发者在设计网站时出现逻辑错误,导致攻击者可以利用此漏洞进行越权、登陆其他用户等操作。

修复建议: 建议重新设计网站逻辑。

HTTP 头跨站脚本攻击漏洞[编辑]

危害等级:

描述:由于系统没有对 HTTP 头进行任何的特殊符号以及敏感字符串的过滤,攻击者可以利用此漏洞往 Web 页面里插入恶意 HTML 代码,当用户浏览该页之时,嵌入其中 Web 里面的 HTML 代码会被执行,从而达到恶意攻击用户的特殊目的,例如网络钓鱼攻击。

修复建议: 建议使用安全的 HTTP 头参数获取用户 IP 地址及显示用户IP地址。

SQL 注入漏洞[编辑]

危害等级:

描述:由于对请求参数 XXXX 没有过滤敏感字符串,导致参数直接进入 SQL 查询语句,导致恶意攻击者通过漏洞可以获取数据库相关信息,包括数据库用户权限,数据库服务器版本以及数据库名称。

修复建议:

  • 使用参数检查的方式,拦截带有 SQL 语法的参数传入应用程序
  • 使用预编译的处理方式处理拼接了用户参数的 SQL 语句
  • 在参数即将进入数据库执行之前,对 SQL 语句的语义进行完整性检查,确认语义没有发生变化
  • 在出现 SQL 注入漏洞时,要在出现问题的参数拼接进 SQL 语句前进行过滤或者校验,不要依赖程序最开始处防护代码
  • 定期审计数据库执行日志,查看是否存在应用程序正常逻辑之外的 SQL 语句执行

HTTP 头部 SQL 注入漏洞[编辑]

危害等级:

描述:由于对请求的 HTTP 头部参数 X-Forwarded-For 没有过滤敏感字符串,导致参数直接进入 SQL 查询语句,导致恶意攻击者通过漏洞可以获取数据库相关信息,包括数据库用户权限,数据库服务器版本以及数据库名称。

修复建议:

  • 使用参数检查的方式,拦截带有 SQL 语法的参数传入应用程序
  • 使用预编译的处理方式处理拼接了用户参数的 SQL 语句
  • 在参数即将进入数据库执行之前,对 SQL 语句的语义进行完整性检查,确认语义没有发生变化
  • 在出现 SQL 注入漏洞时,要在出现问题的参数拼接进 SQL 语句前进行过滤或者校验,不要依赖程序最开始处防护代码
  • 定期审计数据库执行日志,查看是否存在应用程序正常逻辑之外的 SQL 语句执行

SQL 语句暴露漏洞[编辑]

危害等级:

描述:由于应用程序在数据传输中使用了明文的 SQL 语句进行传输。导致攻击者可以拦截传输数据进行修改。可对数据库进行增删改查等危险操作。

修复建议:

  • 建议敏感数据发送时使用加密的方法进行传输

ElasticSearch Groovy 远程命令执行[编辑]

危害等级:

描述:Groovy 的沙盒,对表达式进行安全检测,但是这个沙盒与 Java 的 SecurityManager 那种沙盒是不同的,从代码中可以看到这个沙盒,只是依据黑白名单的方式,在表达式语义上判断表达式是否合法的。由于存在不足,导致被绕过。 恶意攻击者可以通过执行恶意代码,从而控制网站,盗取网站的数据,严重影响网站的正常运营。

修复建议:

  • 建议关闭groovy沙盒以停止动态脚本的使用:script.groovy.sandbox.enabled: false。

URL 重定向漏洞[编辑]

危害等级:

描述:Web 应用程序执行指向外部站点的重定向。攻击者可能会使用 Web 服务器攻击其他站点。

修复建议:

  • 在网页代码中需要对用户输入的数据进行严格过滤。
  • 部署 Web 应用防火墙

文件目录遍历漏洞[编辑]

危害等级:

描述:攻击人员通过目录遍历攻击可以获取系统文件及服务器的配置文件等等。一般来说,他们利用服务器 API、文件标准权限进行攻击。严格来说,目录遍历攻击并不是一种 Web 漏洞,而是网站设计人员的设计“漏洞”。如果 Web 设计者设计的 Web 内容没有恰当的访问控制,允许 HTTP 遍历,攻击者就可以访问受限的目录,并可以在 Web 根目录以外执行命令.

修复建议:

  • 净化数据:对用户传过来的文件名参数进行硬编码或统一编码,对文件类型进行白名单控制,对包含恶意字符或者空字符的参数进行拒绝。
  • Web 应用程序可以使用 chrooted 环境包含被访问的 Web 目录,或者使用绝对路径和参数来访问文件目录,时使其即使越权也在访问目录之内。www 目录就是一个 chroot 应用。

文件上传功能绕过漏洞[编辑]

危害等级:

描述:文件上传功能没有设置权限限制,容易被黑客利用。攻击者可以上传可执行的 WebShell(如 PHP、JSP、ASP 类型的木马病毒),或者利用目录跳转上传 gif、html、xml、config 文件,覆盖原有的系统文件,到达获取系统权限的目的。

修复建议:

  • 设置权限限制,只允许管理员访问该文件。
  • 严格限制可上传的文件类型。
  • 严格限制上传的文件路径。

IIS6.0 解析漏洞[编辑]

危害等级:

描述:由于 IIS6.0 在处理文件扩展名出错导致以 .cer、.asp;.jgp 等命名的文件直接以 asp 代码执行。攻击者可以通过此漏洞获取网站权限,控制网站服务器。

修复建议: 建议 IIS 升级至更高版本。

平行越权漏洞[编辑]

危害等级:

描述:由于程序未对信息进行增删改查的时候没有对用户 A 的增删改查操作进行一个判断,判断所需要操作的信息是否属于对应的用户,导致攻击者可以构造恶意请求操作用户 A 的增删改查功能。

修复建议:

  • 使用用户身份标识(Session),并对用户身份标识进行有效的校验。
  • Cookie 中设定多个验证,比如自如APP的 Cookie 中,需要 sign 和 ssid 两个参数配对,才能返回数据。
  • 用户的 Cookie 数据加密应严格使用标准加密算法,并注意密钥管理。
  • 用户的 Cookie 的生成过程中最好带入用户的密码,一旦密码改变,Cookie的值也会改变。
  • Cookie 中设定 Session 参数,以防 Cookie 可以长时间生效。

Flash 安全配置缺陷漏洞(Flash 跨域攻击)[编辑]

危害等级:

描述:由于 Web 应用程序的flash配置文件 crossdomain.xml 配置不当,形成 Flash 跨域攻击安全隐患。

修复建议:

  • 去掉以下代码 "",并严格控制 Flash 的可信任域。

Flash 跨站脚本攻击漏洞[编辑]

危害等级:

描述:由于低版本的 Flash 没有对参数获取的内容进行过滤,导致攻击者可以利用此漏洞往 Web 页面里插入恶意 HTML 代码,当用户浏览该页之时,嵌入其中 Web 里面的 HTML 代码会被执行,从而达到恶意攻击用户的特殊目的,例如网络钓鱼攻击。

修复建议:

  • 升级 Flash 版本

WebLogic "Java 反序列化" 过程远程命令执行漏洞[编辑]

危害等级:

描述:由于系统使用了存在漏洞的 WebLogic 容器,而且补丁更新不及时,存在 WebLogic 中间件“Java 反序列”过程远程命令执行漏洞,攻击者可利用该漏洞进行恶意操作,例如执行系统命令,直接获取系统权限等恶意行为。

修复建议:

  • 建议更新 Weblogic 最新补丁

WebLogic 反序列化漏洞补丁绕过[编辑]

危害等级:

描述:著名的 Web 中间件 WebLogic 被曝出之前的反序列化安全漏洞补丁存在绕过安全风险,用户更新补丁后,仍然存在被绕过成功执行远程命令攻击的情况,攻击者可以通过该漏洞获取系统权限。

修复建议:

  • 建议更新 WebLogic 最新补丁

CRLF 注入漏洞[编辑]

危害等级:

描述:CRLF 是“回车 + 换行”(\r\n)的简称。在 HTTP 协议中,HTTP Header 与 HTTP Body 是用两个 CRLF 分隔的,浏览器就是根据这两个 CRLF 来取出 HTTP 内容并显示出来。所以,一旦攻击者能够控制 HTTP 消息头中的字符,注入一些恶意的换行,这样攻击者就能注入一些会话 Cookie 或者 HTML 代码,例如会造成一个“会话固定漏洞”等其他漏洞。

修复建议:

  • 中间件非为 WebLogic 类型,建议过滤 \r 、\n 之类的换行符,避免输入的数据污染到其他 HTTP 头。
  • 中间件为 WebLogic 类型,建议删除 uddiexporer 文件夹,或限制 uddiexporer 文件夹访问权限。

SSRF 漏洞[编辑]

危害等级:

描述:SSRF 形成的原因由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。

修复建议:

  • 过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果 Web 应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
  • 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
  • 限制请求的端口为 HTTP 常用的端口,比如:80, 443, 8080, 8090。
  • 黑名单内网 IP。避免应用被用来获取获取内网数据,攻击内网。
  • 禁用不需要的协议。仅仅允许 HTTP 和 HTTPS 请求。可以防止类似于 file:///, gopher://, ftp:// 等引起的问题。

JBoss 管理平台代码执行漏洞[编辑]

危害等级:

描述:服务器使用 JBoss 存在配置漏洞,恶意攻击者不需要用户名密码可以直接访问 JBoss 的管理平台(web-console 与 jmx-console),通过管理平台恶意攻击者可以对服务器进行相关操作,例如停止服务、清空应用、部署应用、甚至上传网页木马控制服务器。

修复建议:禁用或删除 JBoss 的 web-console 与 jmx-console 管理平台,或者设置相关账户名与密码。

JBoss “Java 反序列化”过程远程命令执行漏洞[编辑]

危害等级:

描述:由于系统使用了存在漏洞的 JBoss 容器服务器,而且补丁更新不及时,使用的 apache commons collections 工具包中的 InvokerTransformer 类设计不当,导致对通过该类恶意构造的数据进行反序列化操作时可以执行任意代码。

修复建议:

  • 删除 /invoker/JMXInvokerServlet 文件。
  • 下载临时补丁 SerialKiller.jar 放置于 classpath,将应用代码中的 java.io.ObjectInputStream 替换为 SerialKiller,之后配置让其能够允许或禁用一些存在问题的类。

Struts 2 命令执行漏洞[编辑]

危害等级:

描述:由于网站系统使用了 Struts 2 应用框架进行搭建部署,运维人员未能及时对被公开的 Struts 2 漏洞进行修复升级,导致攻击者可通过该漏洞对网站服务器进行任何操作,夺取服务器的控制权。

修复建议:建议对 Apache Struts 2 框架进行升级。

Struts 2 Devmode 命令执行漏洞[编辑]

危害等级:

描述:由于网站程序使用 Struts 2 框架进行搭建,当 Struts2 中的 DevMode 模式设置为 True 时,会被攻击者执行远程代码执行攻击,进而可被攻击者植入网站后门控制网站服务器。

修复建议:建议升级 Struts 2 版本或关闭 DevMode 模式。

HTTP.sys 远程代码执行漏洞[编辑]

危害等级:

描述:通过 IIS 6 引入的 HTTP 协议堆栈(HTTP.sys)错误地解析了特制的 HTTP 请求。因此,远程攻击者可能执行拒绝服务供给,并可在系统帐户的环境中执行任意代码。该漏洞会影响 Windows 7、Windows Server 2008R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2 上安装的 IIS。Microsoft 发布了通过修改 Windows HTTP 堆栈处理请求的方式来解决漏洞的更新。

修复建议:安装微软提供的对应补丁。

(后台)用户弱口令漏洞[编辑]

危害等级:

描述:

  • 由于用户网络安全意识不足,存在用户弱口令,攻击者可通过弱口令登陆系统进行恶意操作,从而可以进行进一步的攻击渗透
  • 由于网站管理员安全意识不足,存在弱口令密码,攻击者可通过弱口令登陆到网站后台控制网站的任意内容,甚至可通过进一步攻击获取服务器的控制权。

修复建议:

  • 强制用户账号密码强度必须达到一定的级别。
  • 建议密码长度不少于 8 位,且密码中至少包含数字、字母和符号。
  • 对互联网开放应用系统要配置较高的密码强度,配置更换周期策略。
  • 定期开展内部网络安全培训,加强员工网络安全意识。

Apache Tomcat JSP 示例跨站点脚本编制[编辑]

危害等级:

描述:在返回给用户之前,Apache Tomcat 并不会适当清理在 URL 中传递的输入。这点会遭到利用,进而在整个站点上实现“跨站点脚本编制”攻击。

修复建议:升级至 Apache Tomcat 的最新版本。

未授权访问漏洞[编辑]

危害等级:

描述:由于网站程序未对敏感文件进行用户身份验证,页面可无需管理员登录即可正常访问,攻击者可通过该漏洞对网站进行恶意操作,影响网站系统正常运行或获取敏感信息等。

修复建议:建议对敏感文件增加身份权限验证。

用户身份敏感信息泄露[编辑]

危害等级:

描述:由于系统未对用户保密信息进行加密或编码,导致用户身份敏感信息泄露,攻击者可通过获取到用户身份敏感信息进行下一步犯罪等。

修复建议:

  • 对用户身份敏感信息进行加密或编码
  • 对敏感页面进行权限验证,禁止互联网用户进行遍历

敏感文件信息泄露[编辑]

危害等级:

描述:

  • 检测到应用系统存在可以直接访问的 XXX 文件,可能导致服务器敏感信息的泄露。
  • 信息泄露会暴露服务器的敏感信息,使攻击者能够通过泄露的信息进行进一步入侵。

修复建议:禁止互联网用户直接访问 XXX 文件,或将 XXX 文件存放在非网页目录。

任意文件下载[编辑]

危害等级:

描述:由于系统提供了下载文件的功能,但是在获得文件到下载文件的时候并没有进行对目录或文件进行过滤限制,导致恶意用户通过输入任意文件或目录下载任意敏感文件,比如 passwd 等系统重要文件,严重影响系统的安全。

修复建议:

  • 限定下载目录。
  • 设置白名单,限定可下载路径的文件。

任意文件读取[编辑]

危害等级:

描述:由于网站通过提交专门设计的输入,未对用户访问的文件格式进行验证,导致攻击者就可以在被访问的文件系统中读取或写入任意内容,从服务器上获取敏感信息文件,严重影响系统的安全。

修复建议:

  • 过滤.(点)等可能的恶意字符。
  • 正则判断用户输入的参数的格式,看输入的格式是否合法。

任意文件上传[编辑]

危害等级:

描述:由于网站上传功能没有对上传文件的后缀格式进行限制,攻击者可通过上传脚本木马到服务器上,导致控制服务器上的所有文件以及数据库。

修复建议:建议对采用白名单机制限制可上传文件的后缀格式。

任意账户密码重置漏洞[编辑]

危害等级:

描述:由于网站系统存在业务逻辑性漏洞,在找回页面中发向手机号码的验证码在 HTTP 响应数据包中显示,而且系统为用户分配的密码信息也显示在 HTTP 响应数据包中,从而导致任意账户密码重置漏洞,攻击者可通过获取账号名称以及注册时绑定的手机号码进行密码重置,有可能对高权限用户进行密码重置,从而控制网站任意内容。

修复建议:

  • 禁止手机验证码显示在 HTTP 响应数据包中或对显示的验证码以不可逆的加密算法进行加密。
  • 禁止密码字段信息显示在 HTTP 响应数据包中或对显示的密码字段以不可逆的加密算法进行加密。

任意手机号码注册漏洞[编辑]

危害等级:

描述:由于网站系统存在业务逻辑性漏洞,在注册页面中发向手机号码的验证码在 HTTP 响应数据包中显示,从而导致任意手机号码注册漏洞,攻击者可通过该漏洞使用任意手机号码进行恶意注册,对文章进行恶意评论等操作。

修复建议:

  • 建议在服务器端对手机号码的真伪情况进行核实验证。
  • 禁止手机验证码显示在 HTTP 响应包中或对返回的验证码以不可逆的加密算法进行加密。

网站历史备份文件[编辑]

危害等级:

描述:由于网站管理员将网站压缩备份在网站根目录,攻击者可直接下载网站备份文件,导致网站源代码泄露,攻击者可利用此源代码进行代码审计,进一步获取网站其他漏洞。

修复建议:

  • 建议删除网站备份文件或放到非网页可访问目录下。

发现隐藏黑页[编辑]

危害等级:

描述:发现网站存在黑客留下的黑页。

修复建议:

  • 建议做日志审计,查看黑页来源原因,删除黑页。

短信任意内容控制漏洞[编辑]

危害等级:

描述:由于网站调用的短信发送接口只在前端进行验证,但后台并未对发送做任何限制,攻击者可通过控制相应值来自定义服务器发送短信的部分内容,以自身的名义进行发送,导致普通用户对内容信以为真,从而危害自身的公众形象。

修复建议:

  • 建议短信内容由服务器端校验生成,不采用任何由客户端提交的数据,避免用户可以控制短信内容。

FCKeditor编辑器文件上传漏洞[编辑]

危害等级:

描述:由于系统使用了低版本的 FCKeditor 编辑器,而低版本的FCKeditor编辑器存在文件上传绕过漏洞,可通过此漏洞上传特殊格式的文件,通过结合中间件漏洞,攻击者可以直接上传木马文件到服务器,达到获取服务器权限,数据等目的。

修复建议:

  • 建议升级FCKeditor版本。

Redis 未授权访问漏洞[编辑]

危害等级:

描述:Redis 因配置不当可以未授权访问,被攻击者恶意利用。攻击者无需认证访问到内部数据,可能导致敏感信息泄露,黑客也可以恶意执行 flushall 来清空所有数据。攻击者可通过 EVAL 执行 Lua 代码,或通过数据备份功能往磁盘写入后门文件,如果 Redis 以 root 身份运行,黑客可以给 root 账户写入 SSH 公钥文件,直接通过 SSH 登录受害服务器。

修复建议:

  • 指定 Redis 服务使用的网卡 (需要重启 Redis 才能生效),如:在 redis.conf 文件中找到 “# bind 127.0.0.1” ,把前面的 # 号去掉,然后保存。注:修改后只有本机才能访问 Redis。
  • 设置访问密码 (需要重启 Redis 才能生效),如:在 redis.conf 中找到“requirepass”字段,在后面填上你需要的密码,Redis 客户端也需要使用此密码来访问 Redis 服务。
  • 修改 Redis 服务运行账号 ,如:请以较低权限账号运行 Redis 服务,且禁用该账号的登录权限。可以限制攻击者往磁盘写入文件,但是 Redis 数据还是能被黑客访问到,或者被黑客恶意删除。
  • 设置防火墙策略,如:如果正常业务中 Redis 服务需要被其他服务器来访问,可以设置 iptables 策略仅允许指定的 IP 来访问 Redis 服务。

XML 实体注入漏洞[编辑]

危害等级:

描述:XML 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML 文档结构包括 XML 声明、DTD 文档类型定义(可选)、文档元素;当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。

修复建议:

  • 使用开发语言提供的禁用外部实体的方法
  • 过滤用户提交的 XML 数据

短信验证码回显漏洞[编辑]

危害等级:

描述:因为开发不严谨导致通过抓包可以看到验证码在回显中显示,由于验证码直接返回,通过该漏洞可以注册任意用户,重置已注册用户密码,修改绑定信息等高危操作,对用户造成一定影响。

修复建议:

  • 建议不要将短信验证码在回显中显示,验证码只存于服务端中并不能通过任何api直接获取。

Git 源码信息泄露[编辑]

危害等级:

描述:Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。当前大量开发人员使用 Git 进行版本控制,对站点自动部署。如果配置不当,可能会将 .git 文件夹直接部署到线上环境,导致信息泄露。

修复建议:

  • 及时删除 .git 文件夹
  • 发布页面时禁止上传 .git 文件夹

中危[编辑]

WebLogic 服务器端请求伪造(SSRF)[编辑]

危害等级:

描述:由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制,通过服务器端请求伪造(SSRF),入侵者可以用你的网络应用向在该设备运行的其它应用发出请求,或者向同一局域网内或远程网络的服务器发送请求,以达到目标信息采集以及端口扫描的目的。因为请求是利用 Web 服务器发出,目标服务器可能降低防护等级,因此允许了这种相对信任的请求。

修复建议:

  • 过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果 Web 应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
  • 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
  • 限制请求的端口为 HTTP 常用的端口,比如:80、443、8080、8090。
  • 黑名单内网 IP。避免应用被用来获取获取内网数据,攻击内网。
  • 禁用不需要的协议。仅仅允许 HTTP 和 HTTPS 请求。
  • 删除 uddiexporer 文件夹或限制 uddiexporer 文件夹访问权限

短信验证码暴力破解漏洞[编辑]

危害等级:

描述:用户注册处短信验证码为4位数字,复杂度较低,同时用户获取的手机短信验证码过期时间较长,无输入失败次数限制,攻击者可利用此缺陷,注册任意手机号码账号恶意占用系统资源。

修复建议:建议限制并确保验证码“一次一用”的原则。

Web Service 接口泄露[编辑]

危害等级:

描述:Web Service 接口泄露会暴露 Web 应用的敏感信息,使攻击者能够通过泄露的信息进行进一步入侵。

修复建议:禁止或限制互联网用户访问此页面。

网站存在 PHPINFO 文件[编辑]

危害等级:

描述:网站存在PHPINFO 文件,这个是 PHP 特有的信息文件,会导致网站的大量架构信息泄露,该信息有助于攻击者更全面了解网站的架构,为攻击者入侵网站提供帮助。

修复建议:删除检测出的 PHPINFO 文件。

网站存在日志信息文件[编辑]

危害等级:

描述:网站存在日志信息文件,该文件包含的错误信息会导致网站的一些架构信息泄露,该信息有助于攻击者更全面了解网站的架构,为攻击者入侵网站提供帮助。

修复建议:删除检测出的日志信息文件。

网站存在服务器环境探针文件[编辑]

危害等级:

描述:网站存在服务器环境探针文件,该文件会导致网站的大量架构信息泄露,该信息有助于攻击者更全面了解网站的架构,为攻击者入侵网站提供帮助。

修复建议:删除检测出的探针文件,比如:iprober.php、phpcheck.php、jspcheck.jsp、DotNetInfo.aspx、aspcheck.asp等。

网站目录浏览[编辑]

危害等级: 

描述:网站存在配置缺陷,存在目录可浏览漏洞,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件、配置文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。

修复建议:
关闭 Web 容器(如 IIS/Apache 等)的目录浏览功能,比如:

  • IIS 中关闭目录浏览功能:在 IIS 的网站属性中,勾去“目录浏览”选项,重启 IIS.
  • Apache 中关闭目录浏览功能:打开 Apache 配置文件 httpd.conf,查找 “Options Indexes FollowSymLinks”,修改为“ Options -Indexes”(减号表示取消),保存退出,重启 Apache。

IIS 短文件名暴力破解漏洞[编辑]

危害等级:

描述:为了兼容 16 位 MS-DOS 程序,Windows 为文件名较长的文件(和文件夹)生成了对应的 Windows 8.3 短文件名。在 Windows 下查看对应的短文件名,可以使用命令 dir /x。由于短文件名的长度固定(xxxxxx~xxxx),因此黑客可直接对短文件名进行暴力破解 ,从而访问对应的文件,如猜解后台地址;猜解敏感文件,例如备份的 rar、zip、.bak、.SQL 文件等;在某些情形下,甚至可以通过短文件名 Web 直接下载对应的文件。比如下载备份 SQL 文件或对 IIS 服务器中的 .Net Framework 进行拒绝服务攻击。

修复建议:升级 IIS 版本和 .Net Framework 框架。

DNS 域传送漏洞[编辑]

危害等级:

描述:攻击者可以通过 DNS 域传送获取被攻击域下所有的子域名。会导致一些非公开域名(测试域名、内部域名)泄露。

修复建议:

  • 最好的方法是使用 TSIG key 来严格定义区域传送的关系,如:allowe-transfer {key “dns1-slave1”; key “dns1-slave2”;};

SVN 源码信息泄露[编辑]

危害等级:

描述:SVN 服务没有对目录访问权限进行限制,导致可以任意访问 SVN 服务,此漏洞会导致源代码信息泄露以及网站目录结构信息泄露。

修复建议:在不影响代码运行的情况下,删除线上代码中的 .svn 目录。

Resin viewfile 远程文件读取漏洞[编辑]

危害等级:

描述:默认下,Resin 的 /webapps 目录下 /resin-doc 中包含有一个扩展 war 文件。该文档包含有用于在集成的手册中浏览文件的 servlet,可以无需参数在 Web 主目录中浏览任意文件,攻击者可以设置 resin-doc 外的上下文路径,读取其他 Web 主目录的任意文件。

修复建议:建议对 Resin 容器进行升级或对 /resin-doc 目录进行限制,禁止互联网用户访问。

Apache 示例页面未删除[编辑]

危害等级:

描述:由于系统存在未删除的 Apache 示例页面,可造成被恶意利用于伪造 Session,嗅探服务器信息等信息泄露问题。

修复建议:删除相关示例页面。

暴力破解漏洞[编辑]

危害等级:

描述:由于系统没有进行登录验证码限制,攻击者可通过使用已知用户对密码进行暴力破解或者用一个通用密码对用户进行暴力破解。

修复建议:

  • 建议系统添加用户登录验证码限制并确保验证码“一次一用”的原则。
  • 进行用户登录密码错误次数的限制。

网页源代码泄露漏洞[编辑]

危害等级:

描述:由于网站程序页面未能得到服务器的正确解释,导致网页源代码直接暴露互联网,攻击者可根据源代码完全了解后台开发语言、架构、配置信息等,并从源码中分析出更多其它的漏洞,如 SQL 注入,文件上传,代码执行等。

修复建议:

  • 配置好服务端语言解析,防止解析失败而导致源码泄露。
  • 关闭网站错误调试机制,防止因为报错而导致源码泄露。

短信炸弹漏洞[编辑]

危害等级:

描述:由于网站调用的短信发送接口只在前端进行验证,但后台并未对发送做任何限制,导致可通过重放包的方式大量发送恶意短信,攻击者可以利用该接口对移动用户进行短信轰炸攻击,从而影响自身的公众形象。

修复建议:建议在服务器端对用户提交的手机号码及发送短信条数进行验证限制。

邮件炸弹漏洞[编辑]

危害等级:

描述:由于网站调用的邮件发送接口只在前端进行验证数据格式是否合理,但后台并未对邮件发送做任何限制,导致可通过重放包的方式大量发送恶意邮件,攻击者可以利用该接口对任意电子邮箱用户进行电子邮件轰炸攻击,从而影响自身的公众形象。

修复建议:建议在服务器端对用户提交邮箱号码及发送邮件条数进行验证限制。

用户列表泄露[编辑]

危害等级:

描述:由于应用系统存在可以直接访问的用户列表页面,攻击者可通过该文件获取用户列表并有针对性地猜解用户登录密码,通过结合其它漏洞(如:XSS)窥探用户信息或钓鱼攻击。

修复建议:建议禁止互联网用户直接访问用户列表页面或添加用户访问数据前用户权限的判断功能。

数据库溢出错误[编辑]

危害等级:

描述:由于对请求参数没有进行长度校验,导致参数直接进入SQL查询语句导致数据库报错信息直接返回到网页中,攻击者可通过输入超长字符串使数据库字段进行溢出导致返回报错信息,从而获取网站数据库信息,为下一步攻击提供依据。

修复建议:

  • 限制用户输入字段长度,禁止用户输入超长字符导致数据库溢出报错;
  • 屏蔽网页返回报错信息。

可被绕过的验证码验证机制[编辑]

危害等级:

描述:系统的验证码机制不完全,攻击者可以发送任意次数的登录请求,程序都不会提示验证码错误。攻击者可利用此缺陷对系统用户进行暴力破解。

修复建议:

  • 验证码设置为6位并设置超时(一分钟)失效。
  • 建议修改应用程序源代码,在登录模块中增加对验证码正确性的验证,并且要保证在验证用户名、密码或其他信息之前首先验证验证码的正确性。

CSRF 跨站请求伪造[编辑]

危害等级:

描述:应用系统表单中没有随机会话令牌等可靠的验证策略,导致攻击者可以通过伪造一个请求,该请求不是用户想发出去的请求,而对服务器或服务来说这个请求完全是合法的一个请求,但是却完成了一个攻击者所期望的操作。

修复建议:检查 HTTP 头的 refer 信息。使用一次性令牌,这是当前 Web 应用程序的设计人员广泛使用的一种方式,方法是对于 Get 请求,在 URL 里面加入一个令牌,对于 Post 请求,在隐藏域中加入一个令牌。令牌设计用例,如用 Session 信息做 Hash,用得出的哈希值来做 CSRF 的令牌。

基于 DOM 型的 XSS 跨站漏洞[编辑]

危害等级:

描述:通过对 URL 的分析发现了一个 JavaScript 文件系统调用了 document.location.href 属性,但没有对 document.location.href 属性进行限定范围的处理,攻击者可以通过构造 URL 注入 JavaScript、VBScript、ActiveX、HTML 或者 Flash 的手段,利用跨站脚本漏洞欺骗用户,收集 Cookie 等相关数据并冒充其他用户。通过精心构造的恶意代码,可以让访问者访问非法网站或下载恶意木马,甚至可以获取系统的管理权限。

修复建议: 分析并加强客户端 (JavaScript) 代码,对输入源进行过滤。
例如:
document.URL
document.URLUnencoded
document.location(及其许多属性)
document.referrerwindow.location(及其许多属性)

  • 过滤”<”、”>”将用户输入放入引号间,基本实现数据与代码隔离。
  • 过滤双引号防止用户跨越许可的标记,添加自定义标记。
  • 过滤 TAB 和空格,防止关键字被拆分。
  • 过滤 JavaScript 相关关键字。
  • 过滤 &#,防止 HTML 属性绕过检查。

低危[编辑]

Apache Tomcat Example 应用信息泄漏[编辑]

危害等级:

描述:Apache Tomcat 安装后自带 example 应用,该应用可向网站写入有效 Session ,攻击者可用于绕过网站验证机制直接登录后台。

修复建议:建议删除与运营环境无关的目录。

Struts 2 DevMode 模式开启导致敏感信息泄露[编辑]

危害等级:

描述:由于网站程序使用 Struts 2 框架进行搭建,当 Struts2 中的 DevMode 模式设置为 True 时,网站程序出现错误会把详细的报错信息显示出来,方便开发人员审计与修正问题,但这样的配置同样也方便攻击者收集网站的敏感信息,为下一步攻击提供信息依据。

修复建议:建议部署在互联网的信息系统关闭 DevMode 模式。

UDDI 监听页面泄露[编辑]

危害等级:

描述:由于 WebLogic 中间件开启了 UDDI 监听服务,但未对监听页面进行权限验证,导致互联网用户直接访问页面,攻击者可通过获取该页面信息结合 SSRF 漏洞对系统内网信息进行收集。

修复建议:建议对 uddi 目录下文件进行权限验证,禁止互联网用户直接访问。

网站安装文件未删除[编辑]

危害等级:

描述:由于网站系统使用一套名为 XXX 的网站程序系统进行安装部署,但在搭建成功后未对安装目录进行删除或禁止互联网用户访问,攻击者可通过获取该网站管理程序版本,获取该版本漏洞进行攻击或下载与版本相符的源代码进行分析出更多其它的漏洞。如 SQL 注入,文件上传,代码执行。

修复建议:建议删除默认安装文件。

错误详情泄露[编辑]

危害等级:

描述:由于应用程序未对错误详细信息进行屏蔽,攻击者可任意构造恶意代码使应用程序出错,从而获取应用程序信息以及网站物理路径,为下一步攻击提供有力的信息依据。

修复建议:建议屏蔽网站错误信息,禁止提示用户出错的代码级别的详细原因。

内网地址泄露[编辑]

危害等级:

描述:由于服务器将内网IP地址直接写入到网页中,导致内网IP地址泄露。

修复建议:建议将内网IP地址改写成域名。

可预测用户名[编辑]

危害等级:

描述:由于系统未统一忘记密码处用户提示,表现为存在用户时与未存在用户时的错误提示未统一,可利用该方法进行用户名猜测。

修复建议:建议统一系统忘记密码处不同登录失败类型的错误提示。

用户手机号码泄露[编辑]

危害等级:

描述:由于服务器端存在逻辑方面的设计问题,客户端需要部分显示用户手机号码,但是实现的方法是采用客户端本地js脚本进行实现,此方法可被绕过,导致用户手机号码泄露。

修复建议:建议在服务器端对手机号码处理完敏感字符后再发送到客户端进行显示。

Microsoft FrontPage 目录列表信息泄露[编辑]

危害等级:

描述:远程攻击者可以通过此漏洞获取敏感目录,进而进行下一步攻击。

修复建议:建议将这个 Web 目录设置成外网无法访问的方式,或者将此文件删除。

启用了不安全的HTTP方法[编辑]

危害等级:

描述:服务器已启用各类 HTTP 方法,其中包括了不安全的 HTTP 方法,攻击者可利用这些不安全的 HTTP 方法进行 Web 页面的修改、删除等操作。

修复建议:建议禁用 WebDAV,或者禁用不需要的 HTTP 方法,如 OPTIONS、TRACE、COPY 等。

发现中间件默认文件[编辑]

危害等级:

描述:由于网站默认中间件文件没有删除。导致攻击者可获取服务器敏感信息等操作。

修复建议:建议删除默认中间件文件。

jQuery 跨站脚本漏洞[编辑]

危害等级:

描述:jQuery 是继 prototype 之后又一个优秀的 Javascript 框架。jQuery 1.9.0 之前版本中存在跨站脚本漏洞。当使用 location.hash 选择元素时,通过特制的标签,远程攻击者利用该漏洞注入任意 Web 脚本或 HTML。

修复建议:建议升级到 1.12.2 版本。

你可能感兴趣的:(漏洞原理)