src-登陆框的常见测试思路

2024-08-28 10:04
文章标签 常见 测试 登陆 思路 src

本文主要是介绍src-登陆框的常见测试思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

常见的登陆形式

第三方平台 OAuth 认证

用户名 + 密码

手机号 + 短信验证码

邮箱 + 邮件验证码

登陆框的常见测试思路

弱口令

弱口令指的是人为设定、复杂度较低的密码口令

为系统账户(尤其是管理员账户)设置弱口令会使得整个系统的身份认证模块形同虚设

在测试这一块的时候,要先简单尝试一下后再进行爆破

1. 登陆的接口是否有频率的限制?是否有限制错误尝试的次数?如果限制了的话是否可以绕过?

2. 登陆的时候是否有多余的提示?如果没有的话要观察响应包是否存在细微的差别?

3. 登陆的时候是否存在验证码?验证码是否可以绕过?

在测试的过程中,面对不同的情景有不同的测试方法

【用户名 & 密码 未知】测试方法:

1. 先尝试 Top 10 常用用户名 + Top 100 弱口令(或者 123456 ) 来爆破

2. 再尝试用 Top 500 常用用户名 + Top 10 弱口令(或者 123456 )来爆破

3. 若无结果,再尝试用 Brute Force 爆破用户名 + Top 10 弱口令

4. 若还无结果,尝试几个常见的 管理员用户名(admin、sa、administrator、manager) + Brute

Force 爆破密码

【用户名 已知 & 密码 未知】测试方法:

1. 先尝试 已知用户名 + 密码 Top 100 / Top 1000 / Top 6000(取决于已知用户名的多少,多则字典

小点,少则字典大点)

2. 直接莽它就完了 已知用户名 + 300w 大字典 或者 已知用户名 + Brute Force 爆破密码(优先后 者)

SQL 万能账号 / 密码 

本质上是因为将未经处理的用户输入直接拼接到 SQL 语句中被执行导致的身份认证绕过

猜测 SQL 语句: SELECT * FROM cms_admin WHERE username='admin' AND passwd='wobuzhidao'

绕过后 SQL 语句: SELECT * FROM cms_admin WHERE username='admin'or''='' AND

passwd='wobuzhidao' 会发现其中有个 'admin'or''='' AND passwd='wobuzhidao' 永真

放到业务逻辑里就是在数据库中匹配到一条数据,识别为合法用户

测试方法:

1. 尝试传入 admin / 123456 ,观察页面是否有多余的提示(即不存在的用户名、密码错误等提示)

2. 若第一步能判断出 admin 为存在的用户,再尝试 admin'and'1'='1 ,观察是否与先前的提示一

3. 尝试将单引号改为双引号,再尝试一遍并观察与先前的提示是否一致。

4. 若不一致,可能不存在 SQL 注入;若一致,则尝试 admin'and''=' ,观察是否能成功登陆

未授权接口 & 页面 

常规测试方法:

1. FindSomething 火狐插件找 登陆框 就能发现的接口。

2. 复制插件里的路径,然后丢 Bp 里跑一遍,要是大多是 404,就去前端 js 找一下是不是有前缀,有

前缀加上前缀再跑一次。

3. 在跑完之后如果发现一些隐藏的页面,就尝试去访问它。如果没跳转就用 Bp 抓包,每个功能点都

尝试点一下看看有没数据返回;如果有跳转的话,就开 BP 拦截住,这个时候再看看

FindSomething 插件有没显示出一些别的接口,如果有的话再丢 Bp 里跑一遍。

对于遇到的几种不同情况的处理方式:

1. 405 Method Not Allowed:译为方法不允许,这个时候可以尝试把 GET/POST 改为 OPTIONS,看

看返回了啥请求方法就可以用啥请求方法,如果使用 OPTIONS 也 405,就直接尝试改为 PUT、

DELETE...

2. 参数缺失 / 缺少 XXX 参数:这个时候可以考虑去前端根据这个接口的关键字去找需要传入的参数,

如果有提示缺少啥参数,就根据提示的参数进行拼接就好。

3. Unsupported Media Type / 不支持内容类型 application/xxxx:这个时候可以考虑将 Content

Type 更改为其他的内容类型,例如 json、x-www-form-urlencoded、multipart/form-data...

4. 403 Forbidden:译为禁止,当你去直接通过 URL 访问一个目录的时候,经常会出现 403

Forbidden,这实际上是一个标志,表明这个地方存在该目录但不允许你直接访问。

前端欺骗

前端欺骗实际上就是更改服务端的响应内容或者前端的一些内容

从而让前端以为我们通过认证,解析一些只有授权用户才能看到的内容

常规的测试方法:

1. 正常登陆流程走一遍,观察响应包的内容,特别留意哪些 0、1、true、false这种看起来像是用来

判断用户权限的凭证。

2. 根据猜测,尝试修改响应包的内容,看是否会跳转到新的页面。如果修改响应包的内容页面无任何

变化的话,就得根据响应包的一些关键字去前端搜索,看有没有一些写好的状态码,例如说:if

(status == "53001") ,这个时候我们就可以尝试将响应包的相似的一些值给改成我们先前发现的状

态码,最后看是否有跳转。

这篇关于src-登陆框的常见测试思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114450

相关文章

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

MySQL ORDER BY 语句常见用法、示例详解

《MySQLORDERBY语句常见用法、示例详解》ORDERBY是结构化查询语言(SQL)中的关键字,隶属于SELECT语句的子句结构,用于对查询结果集按指定列进行排序,本文给大家介绍MySQL... 目录mysql ORDER BY 语句详细说明1.基本语法2.排序方向详解3.多列排序4.常见用法示例5.

MySQL 索引简介及常见的索引类型有哪些

《MySQL索引简介及常见的索引类型有哪些》MySQL索引是加速数据检索的特殊结构,用于存储列值与位置信息,常见的索引类型包括:主键索引、唯一索引、普通索引、复合索引、全文索引和空间索引等,本文介绍... 目录什么是 mysql 的索引?常见的索引类型有哪些?总结性回答详细解释1. MySQL 索引的概念2

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作