🎏【漏洞加固】常见Web漏洞修复建议
2024-5-23
| 2024-11-11
0  |  0 分钟
type
status
slug
tags
category
icon
password
Property
Nov 11, 2024 01:53 PM
date
summary
参考链接

🤔 一个简单的开头

 
想整理一个安服仔常用的漏洞清单列表,
 

📝漏洞列表

1.SQL注入

漏洞描述

Web程序中对于用户提交的参数未做过滤直接拼接到SQL语句中执行,导致参数中的特殊字符破坏了SQL语句原有逻辑,攻击者可以利用该漏洞执行任意SQL语句,如查询数据、下载数据、写入webshell、执行系统命令以及绕过登录限制等。

修复建议

代码层最佳防御sql漏洞方案:使用预编译sql语句查询和绑定变量。
(1)使用预编译语句,使用PDO需要注意不要将变量直接拼接到PDO语句中。所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击。
(2)对进入数据库的特殊字符(’”<>&*;等)进行转义处理,或编码转换。
(3)确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。
(4)数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。
(5)网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。
(6)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。
(7)避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。
(8)过滤危险字符,例如:采用正则表达式匹配union、sleep、and、select、load_file等关键字,如果匹配到则终止运行。

2.XSS跨站脚本攻击漏洞

漏洞描述

(1)Web程序代码中对用户提交的参数未做过滤或过滤不严,导致参数中的特殊字符破坏了HTML页面的原有逻辑,攻击者可以利用该漏洞执行恶意HTML/JS代码、构造蠕虫、篡改页面实施钓鱼攻击、以及诱导用户再次登录,然后获取其登录凭证等。
(2)XSS攻击对Web服务器本身虽无直接危害,但是它借助网站进行传播,对网站用户进行攻击,窃取网站用户账号身份信息等,从而也会对网站产生较严重的威胁。

修复建议

XSS漏洞本质上是一种html注入,也就是将html代码注入到网页中。那么其防御的根本就是在将用户提交的代码显示到页面上时做好一系列的过滤与转义
(1)过滤输入的数据,对例如:“ ‘ ”,“ “ ”,” < “,” > “,” on* “,script、iframe等危险字符进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。
(2)不仅验证数据的类型,还要验证其格式、长度、范围和内容。
(3)不仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。
(4)对输出到页面的数据进行相应的编码转换,如HTML实体编码、JS编码等。对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行检查。

3.XXE

漏洞描述

XXE漏洞全称XML External Entity Injection即XML外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、×××内网网站、发起dos×××等危害。XEE漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。

漏洞建议

(1) 检查所使用的底层XML解析库,默认禁止外部实体的解析;
(2) 是若使用第三方应用代码,需要及时升级补丁;
(3)是对用户提交的XML数据进行过滤,如关键词:<!DOCTYPE和<!ENTITY或者SYSTEM和PUBLIC等。

4.CSRF

漏洞描述

CSRF是跨站请求伪造,不攻击网站服务器,而是冒充用户在站内的正常操作。通常由于服务端没有对请求头做严格过滤引起的。CSRF会造成密码重置,用户伪造等问题,可能引发严重后果。绝大多数网站是通过 cookie 等方式辨识用户身份,再予以授权的。所以要伪造用户的正常操作,最好的方法是通过 XSS 或链接欺骗等途径,让用户在本机(即拥有身份 cookie 的浏览器端)发起用户所不知道的请求。CSRF攻击会令用户在不知情的情况下攻击自己已经登录的系统。

修复建议

(1)验证请求的Referer是否来自本网站,但可被绕过。
(2)在请求中加入不可伪造的token,并在服务端验证token是否一致或正确,不正确则丢弃拒绝服务。

5.SSRF

漏洞描述

SSRF(Server-Side Request Forgery,服务器端请求伪造):通俗的来说就是我们可以伪造服务器端发起的请求,从而获取客户端所不能得到的数据。SSRF漏洞形成的原因主要是服务器端所提供的接口中包含了所要请求的内容的URL参数,并且未对客户端所传输过来的URL参数进行过滤。这个漏洞造成的危害有:
(1)可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;
(2)攻击运行在内网或本地的应用程序(比如溢出);
(3)对内网Web应用进行指纹识别,通过访问默认文件实现;
(4)攻击内外网的Web应用,主要是使用Get参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等);
(5)利用File协议读取本地文件。

修复建议

(1)禁用不需要的协议,只允许HTTP和HTTPS请求,可以防止类似于file://, gopher://, ftp:// 等引起的问题。
(2)白名单的方式限制访问的目标地址,禁止对内网发起请求
(3)过滤或屏蔽请求返回的详细信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
(4)验证请求的文件格式
(5)禁止跳转
(6)限制请求的端口为http常用的端口,比如 80、443、8080、8000等
(7)统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。

6.任意命令/代码执行

漏洞描述

命令或代码执行漏洞是指代码未对用户可控参数做过滤,导致直接带入执行命令和代码,通过漏洞执行恶意构造的语句,执行任意命令或代码。攻击者可在服务器上执行任意命令,读写文件操作等,危害巨大。

修复建议

(1)严格过滤用户输入的数据,禁止执行非预期系统命令。
(2)减少或不使用代码或命令执行函数
(3)客户端提交的变量在放入函数前进行检测
(4)减少或不使用危险函数

7.任意文件上传

漏洞描述

文件上传漏洞通常由于代码中对文件上传功能所上传的文件过滤不严或web服务器相关解析漏洞未修复而造成的,如果文件上传功能代码没有严格限制和验证用户上传的文件后缀、类型等,攻击者可通过文件上传点上传任意文件,包括网站后门文件(webshell)控制整个网站。

修复建议

(1)对上传文件类型进行验证,除在前端验证外在后端依然要做验证,后端可以进行扩展名检测,重命名文件,MIME类型检测以及限制上传文件的大小等限制来防御,或是将上传的文件其他文件存储服务器中。
(2)严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关上传文件目录的执行权限,防止木马执行。
(3)对上传文件格式进行严格校验,防止上传恶意脚本文件;
(4)严格限制上传的文件路径。
(5)文件扩展名在服务端白名单校验。
(6)文件内容服务端校验。
(7)上传文件重命名。
(8)隐藏上传文件路径。

8.目录穿越/目录遍历

漏洞描述

文件下载或获取文件显示内容页面由于未对传入的文件名进行过滤,利用路径回溯符../跳出程序本身的限制目录,来下载或显示任意文件。

修复建议

对传入的文件名参数进行过滤,并且判断是否是允许获取的文件类型,过滤回溯符../。

9.文件包含

漏洞描述

本地文件包含是指程序在处理包含文件的时候没有严格控制。利用这个漏洞,攻击者可以先把上传的文件、网站日志文件等作为代码执行或直接显示出来,或者包含远程服务器上的恶意文件,进而获取到服务器权限。

修复建议

(1)严格检查变量是否已经初始化。
(2)对所有输入提交可能包含的文件地址,包括服务器本地文件及远程文件,进行严格的检查,参数中不允许出现./和../等目录跳转符。
(3)严格检查文件包含函数中的参数是否外界可控。

10.弱口令

漏洞描述

由于网站用户帐号存在弱口令,导致攻击者通过弱口令可轻松登录到网站中,从而进行下一步的攻击,如上传webshell,获取敏感数据。
另外攻击者利用弱口令登录网站管理后台,可执行任意管理员的操作。

修复建议

(1)强制用户首次登录时修改默认口令,或是使用用户自定义初始密码的策略;
(2)完善密码策略,信息安全最佳实践的密码策略为8位(包括)以上字符,包含数字、大小写字母、特殊字符中的至少3种。
(3)增加人机验证机制,限制IP访问次数。

11.暴力破解

漏洞描述

由于没有对登录页面进行相关的人机验证机制,如无验证码、有验证码但可重复利用以及无登录错误次数限制等,导致攻击者可通过暴力破解获取用户登录账号和密码。

修复建议

(1)如果用户登录次数超过设置的阈值,则锁定帐号(有恶意登录锁定帐号的风险)
(2)如果某个 IP登录次数超过设置的阈值,则锁定IP
(3)增加人机验证机制
(4)验证码必须在服务器端进行校验,客户端的一切校验都是不安全的。

12.越权访问

漏洞描述

由于没有对用户访问角色的权限进行严格的检查及限制,导致当前账号可对其他账号进行相关操作,如查看、修改等。对低权限对高权限账户的操作为垂直越权,相同权限账户之间的操作成为横向越权也称水平越权。

修复建议

(1)对用户访问角色的权限进行严格的检查及限制。
(2)在一些操作时可以使用session对用户的身份进行判断和控制

13.未授权访问

漏洞描述

由于没有对网站敏感页面进行登录状态、访问权限的检查,导致攻击者可未授权访问,获取敏感信息及进行未授权操作。

修复建议

(1)页面进行严格的访问权限的控制以及对访问角色进行权限检查。
(2)可以使用session对用户的身份进行判断和控制。

14.列目录

漏洞描述

由于web服务器配置不当,开启了目录浏览,攻击者可获得服务器上的文件目录结构,获取敏感文件。

修复建议

(1)通过修改配置文件,禁止中间件(如IIS、apache、tomcat)的文件目录索引功能
(2)设置目录访问权限

15.CRLF注入

漏洞描述

CRLF 是“回车 +换行”(\r\n)的简称。在 HTTP 协议中,HTTPHeader 与 HTTP Body 是用两个 CRLF 符号进行分隔的,浏览器根据这两个 CRLF 符号来获取 HTTP 内容并显示。因此,一旦攻击者能够控制 HTTP 消息头中的字符,注入一些恶意的换行,就能注入一些会话 Cookie 或者 HTML 代码。

修复建议

过滤 \r 、\n 及其各种编码的换行符,避免输入的数据污染到其他 HTTP 消息头。

16.LDAP注入

漏洞描述

由于Web 应用程序没有对用户发送的数据进行适当过滤和检查,攻击者可修改LDAP 语句的结构,并且以数据库服务器、Web 服务器等的权限执行任意命令,许可权可能会允许查询、修改或除去 LDAP 树状构造内任何数据。

修复建议

对用户的输入内容进行严格的过滤。

17.URL 跳转

漏洞描述

有的Web 应用程序中使用URL参数中的地址作为跳转链接的功能 ,攻击者可实施钓鱼、恶意网站跳转等攻击。

修复建议

(1)在进行页面跳转前校验传入的URL是否为可信域名。
(2)白名单规定跳转链接

18.明文传输

漏洞描述

用户登录过程中使用明文传输用户登录信息,若用户遭受中间人攻击时,攻击者可直接获取该用户登录账户,从而进行进一步渗透。

修复建议

(1)用户登录信息使用加密传输,如密码在传输前使用安全的算法加密后传输,可采用的算法包括:不可逆hash算法加盐(4位及以上随机数,由服务器端产生);安全对称加密算法,如AES(128、192、256位),且必须保证客户端密钥安全,不可被破解或读出;非对称加密算法,如RSA(不低于1024位)、SM2等。
(2)使用https来保证传输的安全。

19.敏感信息泄露

漏洞描述

在页面中或者返回的响应包中泄露了敏感信息,通过这些信息,给攻击者渗透提供了非常多的有用信息。

修复建议

(1)如果是探针或测试页面等无用的程序建议删除,或者修改成难以猜解的名字。
(2)不影响业务或功能的情况下删除或禁止访问泄露敏感信息页面。
(3)在服务器端对相关敏感信息进行模糊化处理。
(4)对服务器端返回的数据进行严格的检查,满足查询数据与页面显示数据一致。

20.短信/邮件轰炸

漏洞描述

由于没有对短信或者邮件发送次数进行限制,导致可无限次发送短信或邮件给用户,从而造成短信轰炸,进而可能被大量用户投诉,从而影响公司声誉。

修复建议

在服务器限制发送短信或邮件的频率,如同一账号1分钟只能发送1次短信或邮件,一天只能发送3次。

21.phpinfo信息泄漏

漏洞描述

Web站点的某些测试页面可能会使用到PHP的phpinfo()函数,会输出服务器的关键信息,造成服务器信息泄露,为攻击提供有利的信息。

修复建议

(1)删除phpinfo 函数。
(2)若文件无用可直接删除。

22.Apache Tomcat默认文件

漏洞描述

Apache Tomcat默认样例文件没有删除或限制访问,可能存在cookie、session伪造,进行后台登录操作

修复建议

(1)删除样例文件
(2)限制文件访问权限

23.目标服务器启用了不安全 HTTP 方法

漏洞描述

目标服务器启用了不安全的传输方法,如PUT、TRACE、DELETE、MOVE等,这些方法表示可能在服务器上使用了 WebDAV,由于dav方法允许客户端操纵服务器上的文件,如上传、修改、删除相关文件等危险操作,如果没有合理配置dav,有可能允许未授权的用户对其进行利用,修改服务器上的文件。

修复建议

(1)关闭不安全的传输方法,只开启POST、GET方法。
(2)如果服务器不使用 WebDAV 可直接禁用,或为允许webdav的目录配置严格的访问权限,如认证方法,认证需要的用户名,密码。
 

24.CORS跨域资源共享漏洞

漏洞描述

Web服务端CORS(跨域资源共享)错误配置,无法正确验证Origin头,任何网站都可以发出使用用户凭据发出的请求,并读取对这些请求的响应,信任任意来源可以有效地禁用同源策略,从而允许第三方网站进行双向交互,易导致敏感信息泄露。

修复建议

(1)如果没有必要就不要开启CORS
(2)严格限制域白名单,而不是使用*
(3)尽量避免使用Access-Control-Allow-Credentials
 

25.启用了不安全的TLS1.0、TLS1.1协议

漏洞描述

TLS 1.0 和 TLS 1.1 是分别于 1996 年和 2006 年发布的老版协议,使用的是弱加密算法和系统。比如 SHA-1 和 MD5,这些算法和系统十分脆弱,存在重大安全漏洞,容易受到降级攻击的严重影响

修复建议

禁用不安全的TLS1.0、TLS1.1协议
 

26. CSV注入

漏洞描述

CSV注入(CSV Injection)漏洞通常会出现在有导出文件(.csv/.xls)功能的网站中。当导出的文件内容可控时,攻击者通常将恶意负载(公式)注入到输入字段中,用户导出文件打开后,EXCEL会调用本身的动态功能,执行攻击者的恶意代码,从而控制用户计算机。

测试方法

一般出现在CSV/EXCEL导出位置,将某个字段设置为=1*cmd|' /C calc'!A0,然后导出使用office打开后,在对应表单回车
notion image
就会执行对应命令
 

修复建议

请确保没有任何单元格以下列任何字符开头:
等于(“ =”) 加号(“ +”) 减号(“-”) 在 (”@”) 开发人员可以在包含此类字符的单元格的开头添加撇号(’)。添加撇号(’)会告诉excel该单元格不包含公式,并且在查看MS Excel时,在单元格中作为第一个字符输入时不会显示撇号(’)。

参考文章

 

27. *CVE-2021-40438 Apache mod_proxy SSRF 漏洞

漏洞描述

Apache HTTP Server是Apache基金会开源的一款流行的HTTP服务器。在其2.4.48及以前的版本中,mod_proxy模块存在一处逻辑错误导致攻击者可以控制反向代理服务器的地址,进而导致SSRF漏洞。

测试方法

发送如下数据包,可见我们已经成功请求到http://example.com的页面并返回:
notion image
 
或者使用nuclei来检测,最好使用dnslog来探测

修复建议

将 Apache HTTP Server 升级到2.4.48 以上的版本
 

28. 用户枚举/用户遍历

漏洞描述

在应用系统登录的过程中,当输入错误的用户名信息时,应用程序将反馈相应的诸如“用户不存在”的错误提示,攻击者可通过该提示为依据对用户名进行枚举,猜解出已存在于应用系统的用户名信息,最终攻击者再对已有用户的密码进一步猜解,从而降低暴力破解的成本
 

修复建议

对接口登录页面的判断回显提示信息修改为一致:账号或密码错误(模糊提示)。

参考文章

 

29. Api接口泄漏

漏洞描述

由于API接口直接暴露在相关web路径下的。所有人均可以访问查看。通过这一点即可获取项目上所有的接口信息。那么结合实际业务,例如如果有文件读取相关的接口,可能存在任意文件下载,相关的业务访问可能存在未授权访问等。
 

测试方法

修复建议

生产环境应禁用对应api接口列表,如需使用请设置访问控制,可以确保只有授权的人员能够访问API接口。
 

30..SVN源码泄露 

漏洞概述 

在使用 SVN 管理本地代码过程中,使用 svn checkout 功能来更新代码时,项目目录下会自动生成隐藏的.svn文件夹。
一些网站管理员在发布代码时,不愿意使用“导出”功能,而是直接复制代码文件夹到WEB服务器上,这就使得.svn隐藏文件夹被暴露于外网环境

漏洞验证 

访问目标存在以下文件

漏洞利用 

.svn/pristine 目录
直接访问获得文件源代码
wc.db文件
Navicat软件打开 wc.db文件,可以看到 NODES 表,遍历这个表里的每一行,就可以下载到整个项目里的代码了,而且还能得到对应的真实文件名。
REPOSITORY表里面存储了svn的项目路径和 uuid,如果没有做访问IP限制的话,可以直接使用此信息取得此项目的SVN权限(下载、提交等)

修复建议 

1、不要使用svn checkout和svn up更新服务器上的代码,使用svn export(导出)功能代替;
2、服务器软件(Nginx、apache、tomcat、IIS等)设置目录权限,禁止访问.svn目录;
3、删除 .svn 文件夹
 
 

31. XFF-ip伪造

漏洞概述 

应用系统存在IP地址伪造漏洞,攻击者可通过修改HTTP请求包伪造IP地址绕过IP地址限制,访问或执行系统相关功能。

修复建议

1.直接对外提供服务的web应用,应通过REMOTE ADDRESS获取IP。
2.对于使用了nginx反向代理的web应用,正确配置应该是在最靠近用户端的代码服务器上强制设定X-Forwarded-For的值为REMOTE ADDRESS。
 

32. Swagger API 文档未授权访问

漏洞概述

Swagger是一种用于描述API的开源框架,它使用OpenAPI规范来定义API的端点、请求、响应、模式等。Swagger接口泄露漏洞是指在使用Swagger描述API时,由于未正确配置访问控制或未实施安全措施,导致API接口被不授权的人员访问和利用,从而导致系统安全风险。

修复建议

  1. 仅允许授权用户访问 Swagger API:确保只有经过身份验证和授权的用户或角色可以访问 Swagger API 文档和相关端点。不要将 Swagger 文档公开到公共网络中。
  1. 仔细评估访问控制设置:在配置 Swagger 时,使用适当的访问控制设置来限制对 API 的访问。确保仅公开必要的端点,同时还允许进行授权和身份验证。
 

32. Druid 未授权访问

漏洞概述

Druid是阿里巴巴数据库事业部出品,为监控而生的数据库连接池。Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问。

修复建议

关闭Druid或开启权限校验

碰瓷类型

Nginx版本泄露

风险级别

低风险

风险描述

暴露出版本号,暴露出来的版本号容易变成攻击者可利用的信息。从安全的角度来说,隐藏版本号会相对安全些!

测试方法

notion image

加固建议

打开nginx配置文件nginx.conf,在http {...}里加上 server_tokens off;

tomcat默认报错页面

风险级别

低风险

风险描述

暴露出中间件,具体版本号,暴露出来的信息容易变成攻击者可利用的信息,如服务器中间件特性,支持的脚本语言等等。从安全的角度来说,隐藏版本号会相对安全些!

测试方法

notion image

加固建议

打开nginx配置文件nginx.conf,在http {...}里加上server_tokens off; 自定义错误页面

Iis版本泄露

风险级别

低风险

风险描述

暴露出中间件,具体版本号,暴露出来的信息容易变成攻击者可利用的信息,如服务器中间件特性,支持的脚本语言等等。以及中间件头泄露可能会被资产测绘系统分类收录,在中间件出现漏洞的时候会优先受到攻击。从安全的角度来说,隐藏版本号较相对安全!

测试方法

notion image

加固建议

修改iis配置隐藏版本号

jquery版本泄露

风险级别

低风险

风险描述

泄露jQuery版本后黑客可根据jQuery当前版本进行查找相关版本漏洞从而进行利用,泄露jQuery版本后黑客可根据jQuery当前版本进行查找相关版本漏洞从而进行利用

测试方法

notion image

加固建议

修改jQuery版本号

X-Powered-By信息泄露

风险级别

低风险

风险描述

返回的响应头信息中暴露了具体的容器版本,攻击者可针对中间件的特性进行利用

测试方法

notion image

加固建议

修改配置文件,取消响应包的X-Powered-By头字段

X-Frame-Options响应头丢失

风险级别

中风险

风险描述

返回的响应头信息中没有包含x-frame-options头信息设置,点击劫持(ClickJacking)允许攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;

测试方法

notion image

加固建议

配置nginx发送X-Frame-Options响应头,把下面这行添加到’http’,‘server’或者’location’的配置中: add_header X-Frame-Options SAMEORIGIN;

Content-Security-Policy头缺失

风险级别

低风险

风险描述

内容安全策略没有通过元标记或标头声明,因此可以利用浏览器对从服务器接收到的内容的信任。恶意脚本由受害者的浏览器执行,因为浏览器信任内容的来源,即使不是原始地点的。,csp也是一种XSS解决方案,它可以通过配置来防止从外部加载资源,拒绝执行js等等,但错误的配置可能会引起网站功能异常

测试方法

notion image

加固建议

可通过中间件容器配置添加响应包头 可在页面内直接添加meta标记

TRACE方法启用

风险级别

中风险

风险描述

TRACE方法是HTTP(超文本传输)协议定义的一种协议调试方法,该方法使得服务器原样返回任何客户端请求的内容(可能会附加路由中间的代理服务器的信息),由于该方法原样返回客户端提交的任意数据,因此,可用来进行跨站脚本(XSS)攻击,这种攻击方式又称为跨站跟踪攻击(XST)。,即使网站对关键页面启用了HttpOnly头标记,攻击者也可以通过TRACE方法绕过进行XSS攻击,盗取会话cookie、获取账户、模拟其他用户身份,甚至可以修改网页呈现给其他用户的内容

测试方法

notion image

加固建议

关闭不安全的传输方法,推荐只使用POST、GET方法!

使用有漏洞的组件

风险级别

低风险

风险描述

jQuery v1.12.4存在DOM型XSS

测试方法

notion image

加固建议

升级jQuery为新版本 或者修改字段1.12.4为3.52.4迷惑攻击者和误导扫描器识别。

缓慢的HTTP拒绝服务攻击

风险级别

中风险

风险描述

由于HTTP请求底层使用TCP网络连接进行会话,因此如果中间件对会话超时时间设置不合理,并且HTTP在发送请求的时候采用慢速发HTTP请求,就会导致占用一个HTTP连接会话。,如果发送大量慢速的HTTP包就会导致拒绝服务攻击DoS。

测试方法

notion image

加固建议

限制HTTP头部传输的最大许可时间。超过指定时间HTTP Header还没有传输完成,直接判定源IP地址为慢速连接攻击,中断连接并加入黑名单。

目标服务器启用了不安全HTTP方法

风险级别

低风险

风险描述

目标服务器启用了不安全的传输方法,如PUT、TRACE、DELETE、MOVE等,这些方法表示可能在服务器上使用了 WebDAV,由于dav方法允许客户端操纵服务器上的文件,如上传、修改、删除相关文件等危险操作,如果没有合理配置dav,有可能允许未授权的用户对其进行利用,修改服务器上的文件。,有利于攻击者搜集服务器信息,实施下一步攻击

测试方法

notion image

加固建议

1、关闭不安全的传输方法,推荐只使用POST、GET方法! 2、如果服务器不需要支持 WebDAV,请务必禁用它。

缺少secure标识

风险级别

低风险

风险描述

会话cookie中缺少Secure标识会导致攻击者可以通过非HTTPS页面窃取到用户的cookie信息,造成用户cookie信息的泄露。设置附加的secure标识来提示浏览器只能通过Https(加密方式)方式来传输cookie,Http(未加密方式)方式则不可以。

测试方法

notion image

加固建议

配置nginx配置文件,使请求头cookie后面带上secure字段

敏感数据GET传输

风险级别

低风险

风险描述

GET方式传递的敏感数据更容易被截获,降低了攻击的门槛,攻击者通过简单的JavaScript脚本即可获得敏感数据的内容。

测试方法

notion image

加固建议

使用POST方式传递敏感信息。

SSL证书无效

风险级别

低风险

风险描述

SSL证书不受信任,SSL证书不是由受信的CA机构所签发的。,攻击者可利用自签名SSL证书伪造钓鱼网站上,让用户信息泄露。 浏览器会弹出警告,易遭受攻击,让用户体验度大大降低。 自签名SSL证书是没有可访问的吊销列表的,所以它不具备让浏览器实时查验证书的状态,一旦证书丢失或者被盗而无法吊销,就很有可能被用于非法用途从而让用户蒙受损失。同时,浏览器还会发出“吊销列表不可用,是否继续?”的警告,不仅降低了网页的浏览速度,还大大降低了访问者对网站的信任度。

测试方法

notion image

加固建议

进行证书的正确安装或者从可信机构申请证书

业务类型

弱口令

风险级别

高风险

风险描述

由于企业管理员安全意识不强,为了图方便、好记使用弱口令,随着网络攻击的自动化、傻瓜化,弱口令攻击已成为一种最快速有效的攻击手段 漏洞截图

测试方法

notion image

加固建议

改为强口令

用户无限注册

风险级别

中风险

风险描述

用户可无限提交请求注册用户,扰乱正常的业务,修改name字段放包即可注册成功。

测试方法

notion image

加固建议

添加验证码。

登录可爆破

风险级别

中风险

风险描述

无验证码以及传参加密,可直接爆破,使用burp加载字典可直接爆破用户密码。对用户admin爆破成功。

测试方法

notion image

加固建议

  • 添加验证码。 •或者登录失败锁定账户30分钟

用户无限注册

风险级别

中风险

风险描述

用户可无限提交请求注册用户,扰乱正常的业务,修改name字段放包即可注册成功。

测试方法

notion image

加固建议

添加验证码。

短信无限重放

风险级别

高风险

风险描述

手机号验证时删除验证参数就可无限重发 攻击载荷 GET/xxx&mobile=手机号 HTTP/1.1 Host: xxx.xxxx.com.cn,企业对接sms验证码很多情况下是按条收费的,无限发送验证码可直接对企业财产造成损失

测试方法

notion image

加固建议

修改后端代码,添加对验证码

验证码不过期

风险级别

高风险

风险描述

验证码不失效,可配合明文传输账户密码进行爆破,后端没有对验证码参数进行过期处理,导致一个验证码反复使用

测试方法

notion image

加固建议

修改代码,对验证码一旦使用则过期处理

测试账号未删除

风险级别

中风险

风险描述

测试账号,测试账户一般为弱密码,随手一试还存在system账户。存在比较大的概率进入系统内部从而进一步进行攻击。

测试方法

notion image

加固建议

如非必要,删除测试账户,或采用强安全性用户名。 另外,统一更改错误提示,无论账户存在与否都显示为“用户名或密码错误”,防止账户枚举

账户枚举

风险级别

中风险

风险描述

获取用户名,减少爆破难度。,输入admin用户不存在,输入1admin提示密码错误。

测试方法

notion image

加固建议

对后端jsp代码if语句字符串进行修改。

预约信息重放

风险级别

高风险

风险描述

攻击者利用该漏洞无限提交预约留言,攻击者利用该漏洞绕过验证码,消耗服务器系统资源占用,扰乱正常的预约业务。

测试方法

notion image

加固建议

修复后端验证码校检代码

任意账户密码重置

风险级别

高风险

风险描述

可以重置其他人包括管理员的账户密码,密码重置不应该使用时间戳来作为验证字段,修改高权限用户密码登录后攻击面会变大,危害也越大

测试方法

notion image

加固建议

使用邮箱发送随机验证码验证来进行密码重置

漏洞类型

内网IP地址泄漏

风险级别

中风险

风险描述

网站的内部IP地址,常常被攻击者通过信息收集,得到其内网的IP地址,对于渗透攻击,打下良好基础,如内网Ip地址段,IP路由等等 攻击载荷 POST /admin/xxxxx/insert HTTP/1.1 Host: xxxxxx.com.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Accept: application/json, text/javascript, /; q=0.01 Sec-Fetch-Mode: cors Sec-Fetch-Site: same-origin
username=admin&password=111

测试方法

notion image

加固建议

隐藏输出报错信息

http明文传输

风险级别

中风险

风险描述

http请求未加密,可以通过流量抓取获取到其敏感信息,请求包中的账户、密码应该加密处理

测试方法

notion image

加固建议

请求包中的账户、密码应该加密处理 使用Https协议

目录遍历

风险级别

高风险

风险描述

目录浏览漏洞是由于网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件、配置文件等,攻击者利用该信息可以为进一步入侵网站做准备。

测试方法

notion image

加固建议

寻找对应中间件的配置,关闭对目录浏览的支持。

actuator端点信息泄露

风险级别

高风险

风险描述

Spring Boot Actuator 模块提供了健康检查,审计,指标收集,HTTP 跟踪等,如果没有正确使用Actuator,可能造成信息泄露等严重的安全隐患(外部人员非授权访问Actuator端点)。其中heapdump作为Actuator组件最为危险的Web端点,heapdump因未授权访问被恶意人员获取后进行分析,可进一步获取敏感信息。

测试方法

/actuator

加固建议

禁用actuator

springboot内存快照文件泄露

风险级别

高风险

风险描述

SprinBoot框架不安全的配置可能导致敏感信息泄露,攻击者通过下载此文件,可以得知系统详细信息,用户名,以及保存在内存里面的数据,如token,数据库用户名密码等等

测试方法

notion image
notion image

加固建议

禁用此sprintboot路由或者设置路径不可访问

后台源码泄露

风险级别

高风险

风险描述

访问admin会将admin文件下载下来,它是一个压缩包打开即可看到脚本源码,源码泄漏导致攻击者阅读源码,更利于其发现及利用漏洞

测试方法

notion image

加固建议

将此文件移动到非web目录的不可访问地址

页面源码泄露

风险级别

中风险

风险描述

访问地址即可得知文件内容,有利于攻击者熟悉网站内部结构,以及获取敏感数据

测试方法

notion image

加固建议

删除以上不必要文件 启用脚本支持,防止文件泄露

25端口邮件系统用户枚举

风险级别

高风险

风险描述

SMTP不安全的配置可能导致敏感信息泄露,攻击者可以通过枚举用户名,可以爆破弱口令

测试方法

notion image
notion image

加固建议

禁用RCPT TO命令

其他类型

后门存留

风险级别

高风险
后门位置 C:/weaver/ecology/cloudstore/,护网期间留下的后门文件未删除

测试方法

notion image

加固建议

使用webshell查杀工具进行查杀,对比时间判断文件是否可疑

应用程序错误信息泄露

风险级别

低风险

风险描述

黑客可通过特殊的攻击向量,使web服务器出现500、404等相关错误,返回服务器敏感信息。,信息泄漏如绝对路径、webserver版本、源代码、sql语句等敏感信息,恶意攻击者很有可能利用这些信息实施进一步的攻击。

测试方法

notion image

加固建议

自定义错误页面或归一化错误页面信息提示!

tomcat默认报错页面

风险级别

低风险

风险描述

暴露出中间件,具体版本号,暴露出来的信息容易变成攻击者可利用的信息,如服务器中间件特性,支持的脚本语言等等。从安全的角度来说,隐藏版本号会相对安全些!

测试方法

notion image

加固建议

打开nginx配置文件nginx.conf,在http {...}里加上server_tokens off; 自定义错误页面

weblogic默认报错页面

风险级别

低风险

风险描述

黑客可通过特殊的攻击向量,使web服务器出现500、404等相关错误,返回服务器相关服务的敏感信息。如以下的weblogic,可以尝试使用其相关漏洞来进行利用,信息泄漏如绝对路径、webserver版本、源代码、sql语句等敏感信息,恶意攻击者很有可能利用这些信息实施进一步的攻击。

测试方法

notion image

加固建议

自定义错误页面或归一化错误页面信息提示!

垃圾文件上传

风险级别

中风险

风险描述

修改数据包内文件大小限制即可无限重放成功上传,恶意攻击者可以通过无限上传塞满服务器磁盘,造成应用异常或者服务器宕机

测试方法

notion image

加固建议

无服务端控制上传大小,无需此功能可以剔除掉上传功能
 
 
使用cs前的一丢丢配置安卓逆向实战-某加密算法
目录