登陆框站点-测试思路 .docxVIP

  • 0
  • 0
  • 约2.22千字
  • 约 5页
  • 2026-02-08 发布于浙江
  • 举报

常见的登陆形式

第三方平台OAuth认证用户名+密码

手机号+短信验证码邮箱+邮件验证码

登陆框的常见测试思路

弱口令

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

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

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

1.登陆的接口是否有频率的限制?是否有限制错误尝试的次数?如果限制了的话是否可以绕过?2.登陆的时候是否有多余的提示?如果没有的话要观察响应包是否存在细微的差别?

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

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

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

1.先尝试Top10常用用户名+Top100弱口令(或者123456)来爆破2.再尝试用Top500常用用户名+Top10弱口令(或者123456)来爆破3.若无结果,再尝试用BruteForce爆破用户名+Top10弱口令

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

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

1.先尝试已知用户名+密码Top100/Top1000/Top6000(取决于已知用户名的多少,多则字典小点,少则字典大点)

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

SQL万能账号/密码

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

猜测SQL语句:SELECT*FROMcms_adminWHEREusername=adminANDpasswd=wobuzhidao

绕过后SQL语句:SELECT*FROMcms_adminWHEREusername=adminor=AND

passwd=wobuzhidao

会发现其中有个adminor=ANDpasswd=wobuzhidao永真

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

测试方法:

1.尝试传入admin/123456,观察页面是否有多余的提示(即不存在的用户名、密码错误等提示)2.若第一步能判断出admin为存在的用户,再尝试adminand1=1,观察是否与先前的提示一

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

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

未授权接口页面

常规测试方法:

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

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

3.在跑完之后如果发现一些隐藏的页面,就尝试去访问它。如果没跳转就用Bp抓包,每个功能点都尝试点一下看看有没数据返回;如果有跳转的话,就开BP拦截住,这个时候再看看FindSomething插件有没显示出一些别的接口,如果有的话再丢Bp里跑一遍。

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

1.405MethodNotAllowed:译为方法不允许,这个时候可以尝试把GET/POST改为OPTIONS,看看返回了啥请求方法就可以用啥请求方法,如果使用OPTIONS也405,就直接尝试改为PUT、DELETE...

2.参数缺失/缺少XXX参数:这个时候可以考虑去前端根据这个接口的关键字去找需要传入的参数,如果有提示缺少啥参数,就根据提示的参数进行拼接就好。

3.UnsupportedMediaType/不支持内容类型application/xxxx:这个时候可以考虑将Content-Type更改为其他的内容类型,例如json、x-www-form-urlencoded、multipart/form-data...

4.403Forbidden:译为禁止,当你去直接通过URL访问一个目录的时候,经常会出现403Forbidden,这实际上是一个标志,表明这个地方存在该目录但不允许你直接访问。

前端欺骗

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

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

常规的测试方法:

1.正常登陆流程走一遍,观察响应包的内容,特别留意哪些0、1、true、

文档评论(0)

1亿VIP精品文档

相关文档