0


安全测试参考标准

分类名称

漏洞名称

漏洞描述

场景描述

风险程度

信息

泄露

robots.txt泄露敏感信息

在应用的robots.txt中泄露了应用的敏感目录信息。如敏感的后台、CMS特征识别目录等。

robots.txt中存在allow和disallow的具体内容泄露敏感目录信息

敏感文件信息泄露

应用中存在可以直接通过路径访问下载的敏感文件,如数据库文件、代码打包文件、svn或git等版本控制文件等

返回含有重要的敏感信息的文件,比如数据库文件、代码的备份文件或svn、git版本控制文件等

过时的、用于备份的或者开发文件残留

应用遗留的过时文件、备份页面、渗透测试遗留文件、开发文件残留的测试文件等

页面泄露非重要信息,不能进行相关功能操作

泄露一般重要信息,做只能进行一般功能操作

泄露重要敏感信息,或能够进行核心业务操作

报错页面敏感信息泄露

应用程序使用默认的报错页面或者未进行异常处理泄露敏感信息,如泄露用户账号信息、邮箱信息、中间件和数据库版本、部分代码、内网信息等。

未开启调试模式,泄露部分中间件版本、少量代码信息等

开启调试模式,泄露大量应用的敏感信息如代码、报错信息等

物理路径泄露

应用中泄露出应用在主机中的绝对地址路径

泄露应用绝对路径

明文密码本地保存

明文密码保存在本地客户端

全部账号的明文密码保存在本地客户端

只有本账号的明文密码保存在本地客户端

入侵痕迹遗留

在渗透过程中发现应用中存在曾经的入侵痕迹,如存在的webshell文件

发现存在入侵痕迹,比如存在Webshell或者网页被篡改

HTTP头信息泄露

在服务器返回的HTTP头中泄露服务器信息

泄露服务器版本等信息

目录浏览

web服务器设置允许目录浏览。能够浏览站点的全部路径

目录可以浏览,未泄露包含密码、个人信息等敏感文件

目录可以浏览,泄露包含密码、个人信息等敏感文件

默认页面泄露

存在默认安装中间件、插件、框架等会携带示例页面及说明文档

存在可访问的默认页面,但未泄露敏感信息。

存在可访问默认页面,泄露于业务、操作和配置相关的敏感信息

存在可访问默认页面,泄露高风险敏感信息(如:tomcat 的 examples 目录)

存在可访问的管理后台入口

应用存在未限制访问的后台,或者能过直接登录管理后台

可访问默认管理后台,但无法登录或执行危险操作

可访问默认管理后台,并成功登录,但无法获取 shell

可访问默认管理后台,通过后台获取 shell

存在可访问的管理控制台入口

应用存在中间件默认的控制台。

可访问默认中间件控制台,但无法登录且无法执行危险操作

可访问默认中间件控制台,并成功登录,但无法获取 shell

可访问默认中间件控制台,且能过成功获取 shell

参数溢出

攻击者在参数中输入超长字符串,导致数据溢出,致使应用或者数据库报错引发相关信息泄露,或者引起拒绝服务攻击等问题。

超长参数导致服务器报错引发崩溃拒绝服务

任意文件下载

通过./、../、.._等目录控制字符构造下载文件的路径从而下载服务器上的任意文件

各场景通用

信息

猜解

邮件内容中请求链接可预测

邮件中的重置密码等链接可预测,导致链接可以直接被猜解访问

存在需要收件人点击确认的链接中,无安全随机数,或 token 简单可预测

数据

猜解

存在账号枚举

账号是否存在可以通过系统返回的错误提示进行猜测

可通过返回关键字对系统可用账号进行枚举

账号密码共用

不同的业务系统存在相同的用户名密码,或者不同用户名使用相同的初始密码。

同样的账户名密码可以在多个系统上登录

不同用户名使用相同初始密码,且第一次登录未强制密码修改或强制修改机制可绕过继续使用初始密码

多台服务器的后台或其他服务口令相同

认证信息 泄露

传输过程泄露

检查认证过程中传输是否加密(用户名密码明文传输、敏感数据传输加密)

传输数据包含明文密码、链接、明文身份证、明文地址等其他敏感信息

GET方式明文传输用户名密码

Token或者用户身份标识,以GET方式显示在URL中

会话变量泄露

登录、验证等页面的隐藏域中存在密码信息。

隐藏域中存在密码等信息

认证信息 猜解

存在弱口令

认证登录环节存在弱口令

存在弱口令

存在暴力破解

登录模块无验证码或二次认证,可暴力破解

存在暴力破解风险,但未暴破出密码

认证功能 失效

存在空口令

认证登录环节允许空口令

存在空口令

认证绕过

能够绕过应用认证,直接登录系统

能够登录访问进入应用系统,但无法进行相关操作

能够登录进入应用系统,且可以进行相关操作

Oauth认证缺陷

Oauth认证不完全,可越权登录他人账户

可导致用户资源任意访问或任意账户登录或用户密码获取

IP地址伪造

通过伪造IP地址能够绕过应用IP地址限制,访问和执行系统相关功能

访问重要系统/执行重要功能

访问非重要系统/执行非重要的功能

身份标识缺陷

应用程序的在登录操作之时和之后,会话的鉴别和标识存在缺陷,有可预见性的规律,导致会被猜解。

会话标识存在可预见性规律

认证功能 滥用

多点认证缺陷

系统允许多点认证

核心系统允许多点登录

多点登录架构可被绕过

会话固定

应用存在会话固定缺陷,导致受害者可能被诱导使用攻击者已知的session登录该应用,之后攻击者便可以使用该session冒充受害者进行登录。

会话可由攻击者建立后发给受害者使用该会话登录系统,然后攻击者利用该会话即可登录受害者账户

业务逻辑 篡改

密码修改/重置流程跨越

绕过验证步骤直接重置密码

绕过原密码验证或绕过验证码

负值反冲

应用程序未校验订单数据的取值范围,交易存在负值反冲

未对数据进行校验,导致业务数据被污染

正负值对冲

应用程序未校验订单数据的取值范围,交易存在正负值对冲

未对数据进行校验,导致业务数据被污染

业务流程跳跃

业务逻辑流程分步骤进行且能越过中间校验步骤直接进行后续操作,导致中间校验等步骤失效。

绕过前面的校验步骤,直接跳转至后面的校验步骤

业务功能 失效

通配符注入

允许使用通配符构造语句查询数据库,导致拒绝服务攻击问题

通配符注入引发数据库响应缓慢

业务功能 滥用

短信定向转发

检查短信接收人是否可任意指定

短信接收人可任意指定

邮件可定向转发

应用系统发送邮件的接收人可由客户端任意指定

邮件收件人可任意指定

业务接口调用缺陷

应用的业务接口存在缺陷,可以通过业务接口直接进行恶意操作

通过业务接口能够获得中等程度敏感数据

通过业务接口能够获得重要敏感数据

通过业务接口能够操作核心业务内容,进行越权

IMAP/SMTP注入

电子邮件注入允许恶意攻击者注入任何邮件头字段,BCC、CC、主题等,它允许黑客通过注入手段从受害者的邮件服务器发送垃圾邮件。

可成功发送垃圾邮件

可成功劫持密码找回等信息

引用第三方不可控脚本/URL

页面中引用了不可控的脚本或超链接

存在不可控外链或脚本,但可提供审批记录

存在不可控外链或脚本,且未经过审批

开启危险接口

开启可利用的危险接口,如获取订单信息、用户身份信息等

正常情况接口是在认证之后被调用,如果可公网直接无认证使用

存在特权、非正常用户不可知但可利用接口

未验证的URL 跳转

通过篡改URL跳转参数可跳转至任意网址

URL 跳转参数可控,且未对参数做白名单限制导致任意地址跳转可被利用钓鱼

服务器端请求伪造(SSRF)

服务端提供从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。

无回显,但可访问外网(可能存在 Dos 利用

有回显,可探测内网,文件访问

短信内容可控

短信内容可从客户端指定

短信内容可控,但接受人不可控

短信内容可控,且接收人可任意指定

邮件内容可控

应用系统发送邮件的邮件内容可由客户端任意指定

邮件内容可控,但收件人地址不可控

邮件内容可控,且收件人可任意指定

请求重放攻击

关键业务操作未作token或者唯一标识码,导致攻击者可以重复多次进行请求,导致恶意操作。如重复交易等问题。

关键业务操作请求未设置 token 或标识码,导致业务数据越界或错误

批量提交

应用程序未使用验证码等防自动化操作的方法,可批量提交请求,如批量注册

正常业务为单条数据请求,且存在防自动化批量操作措施,但在单个数据包中写入批量数据,可成功提交,并且服务器能批量执行

正常业务为单条数据请求,且不存在防自动化批量操作措施,可批量自动化提交

防护功能 失效

账号弱锁定机制

系统帐号锁定时间太短

账户在多次尝试失败后锁定时间低于 3 分钟

图形验证码可自动获取

图形验证码过于简单,可使用工具自动化识别。

图形验证码可被自动化识别,且成功率高于95%。

图形验证码绕过

图形验证码可被绕过,执行暴力破解等操作

验证码可多次使用、发现特权验证码、前端校验、返回验证码、返回带有验证码信息的图片

短信验证码绕过

短线验证码可被绕过,执行其他操作

验证码可多次使用或发现特权验证码

短信验证码可暴力破解

短信验证码位数太短或有效期太长导致可暴力破解

手机短信验证码小于 6 位、有效期大于 1 分钟、验证错误次数无限制

参数覆盖

使用同名参数对原参数进行覆盖

同名参数绕过 filter 或其他规则

关键逻辑判断前端验证

关键逻辑仅在前端Javascript处进行验证,导致恶意操作可以绕过前端验证直接提交服务端并且达到目的。

前端进行校验,绕过用户名密码组成规则或对业务影响不大

前端进行校验,绕过之后可执行后续业务操作/获取服务器权限/修改用户信息/修改业务数据/验证码本地校验

防护功能 缺失

Cookies属性问题

Cookie属性缺乏相关的安全属性,如Secure属性、HttpOnly属性、Domain属性、Path属性、Expires属性等

存在未设置 HttpOnly 或 Secure 属性;Domain 或者 Path 设置路径不合理

会话重用

账户退出系统如关闭浏览器或者注销登录后,会话仍可以使用。

关闭浏览器后或退出后返回之前页面会话依然有效

会话失效时间过长

应用系统的会话失效时间过长。导致服务器性能受损,且由于过长的失效时间会导致可以被多次利用。

公网系统会话失效时间超过 30 分钟

防护功能 滥用

恶意锁定问题

通过不断的输入错误的密码可恶意锁定任意账号

锁定账户之后,可继续使用认证功能,但认证存在防自动化功能

锁定账户之后,可继续使用认证功能,导致可批量自动化账户锁定

短信炸弹

应用系统未限制手机短信的发送次数和频率,造成短时间内大量短信发送至接收者手机,容易导致手机卡死不可用

只可对当前手机号轰炸

可对任意手机号轰炸

邮件炸弹

#VALUE!

只可对当前邮箱轰炸

可对任意邮箱轰炸

权限

缺失

Flash跨域访问

Flash跨域策略文件crossdomain.xml设置允许跨域访问

allow-access-from属性为*

allow-http-request-headers-from属性为*

site-control标签的permitted-cross-domain-policies属性为 all

可获取数据

jsonp跨域请求

允许使用jsonp跨域请求

可获取普通数据

可获取敏感数据

未授权访问

跳过登录页面直接访问需要认证通过后才能访问的内部网页

认证模式可绕过,不登录即可通过 URL 或其他方式访问登录后页面

权限

篡改

任意用户密码修改/重置

可通过篡改用户名或ID等方式重置任意账户的密码

其它用户的密码被修改/重置成功

SSO认证缺陷

SSO认证存在缺陷,可越权登录他人账户

可导致用户在单点登录之后任意登录其他系统和其他用户账号信息

越权

应用未校验用户权限,可越权增删改查他人功能或数据

任意水平或垂直越权

Cookies伪造

cookie内容可以被预测,能过通过伪造cookie内容绕过认证或授权管理

伪造 cookie 后,成功进入业务系统或获取用户权限

会话变量可控

会话中的参数可由客户端控制,导致客户端可以控制并修改会话参数

会话中存在字段是由可控参数生成

跨站请求伪造(CSRF)

应用服务存在功能校验缺陷,导致攻击者可以诱使受害者发送恶意请求的请求达到恶意攻击。

普通系统关键操作(账户操作,审批确认……

核心系统关键操作(账户操作,审批确认……

综合

利用

跨站脚本攻击(XSS)

攻击者向Web页面里插入恶意的脚本代码(如javascript脚本),当用户浏览该Web页面时,嵌入其中的脚本代码会被执行,达到攻击用户的目的。

应用中存在反射型跨站

应用中存在存储型跨站

FLASH 跨站脚本攻击

通过Javascript 向Flash中传入恶意内容,获取用户的敏感信息或者打开具有网页木马的URL页面从而实现攻击

手工测试浏览器弹窗

HTTP 响应分割

Web应用程序未对用户提交的数据进行严格过滤和检查,导致攻击者可以提交一些恶意字符,如对用户输入的CR 和LF字符没有进行严格的过滤。

可成功实现 XSS,会话固定

HTTP 参数污染

应用对于攻击者恶意提交多个相同名称的不同参数的变量存在不可预料的方式运行,导致攻击者可以绕过输入验证或者绕过身份认证等行为。

参数化 URL 加测试语句后,网页跳转到不同的正确页面

Host 头攻击

Web应用程序获取网站域名依赖HTTP header中的Host字符(比如在JSP里通过request.getHeader()获取),通过篡改host字段可导致Host头攻击

请求数据包包中 host 值直接拼接到生成链接中

SQL注入

注入攻击是指将特定的代码或命令与正常的数据共同提交到服务器端,服务器在执行正常操作的同时,攻击者提交的恶意命令代码被同时接收并执行

存在SQL注入,无论能否爆出数据

NoSQL注入

NoSQL数据库参数存在注入,攻击者可以构造恶意输入,读取数据库相关内容,或者对数据库做恶意操作

存在NoSQL注入,无论是否能够爆出数据

LDAP注入

Web应用在构造和将查询发送给服务器前未净化用户传入的参数,导致攻击者可构造LDAP查询语句进行注入

存在 LDAP 注入,且手工加入payload,页面返回敏感信息,或登录页面被绕过

XML注入

通过构造XML查询格式进行注入

批量数据提交并成功被解析

额外数据字段注入导致权限提升或原始数据修改

XXE

应用允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。

实体注入可读取服务器文件或执行命令

Xpath注入

XPath注入攻击是指利用XPath 解析器的松散输入和容错特性,能够在 URL、表单或其它信息上附带恶意的XPath 查询代码,以获得权限信息的访问权并更改这些信息。

通过构造Xpath查询语句进行注入,操作XML数据

SSI注入

SSI是在网页内容被返回给用户之前,服务器会执行网页内容中的SSI标签。在很多场景中,用户输入的内容可以显示在页面中,比如一个存在反射XSS漏洞的页面,如果输入的payload不是xss代码而是ssi的标签,服务器又开启了ssi支持的话就会存在SSI漏洞

可成功实现文件读取,命令执行

命令注入

通过把HTML代码输入一个输入机制(例如缺乏有效验证限制的表格域)来改变网页的动态生成的内容。

成功执行系统命令或脚本命令

任意文件上传

应用未验证文件的合法性,或者对文件的合法性验证有缺陷,导致上传恶意文件

成功上传恶意脚本文件,并解析webshell

反序列化漏洞

在应用中存在反序列化漏洞

成功执行系统命令或脚本命令

专项

漏洞

Web组件(SSL/WebDAV)漏洞

有关SSL/TLS算法缺陷、OpenSSL等实现的缺陷、WebDAV相关漏洞

中间件相关漏洞

包括Apache、Nginx、IIS、Tomcat、Weblogic、Jboss以及其他的中间件的漏洞

数据库的相关漏洞

包括MySQL、Oracle、MSSQL等关系型数据库、以及MongoDB等非关系数据库

第三方应用相关漏洞

Redis和Memcache等非关系型数据库,以及其他第三方如Zabbix应用

第三方插件相关漏洞

第三方插件,如fckeditor等

开发框架

开发框架存在的漏洞,如Struts2框架漏洞

整站系统

整站系统存在漏洞,例如wordpress、各类cms等

操作系统

windows/*nix 等操作系统的漏洞问题

未定义分类

其他

标签: 安全 功能测试

本文转载自: https://blog.csdn.net/a254939392/article/details/141157039
版权归原作者 逆天-逍遥哥哥 所有, 如有侵权,请联系我们删除。

“安全测试参考标准”的评论:

还没有评论