OWASP web渗透测试清单checklist -1-

发布于:2022-12-10 ⋅ 阅读:(1007) ⋅ 点赞:(0)

目录

渗透测试工作流程

checklist

1. AppDOS

应用泛洪Application Flooding

应用lockout

2. 访问控制

参数分析

授权

授权参数操作

授权的页面和函数

应用工作流

3. 认证

认证endpoint 请求应该是https

认证bypass

4. 认证用户

credentiasl 通过加密传输

默认账号

用户名

密码质量

密码重置

密码lockout

密码结构

空密码

5. 认证session 管理

session token长度

session timeout

session reuse

session 删除

session token格式


渗透测试工作流程

  1. 尽可能收集信息,不管是基础架构还是应用的信息,这个部分是非常重要的,没有对底层架构和应用的理解,在测试阶段很可能会错过一些内容
  2. 测试任意应该尽量去利用所有去发现的漏洞,尽管利用可能会失败,借此测试人员就会对漏洞的风险有更好的了解
  3. 任何检查漏洞返回的信息,程序错误,源代码,其他泄露的信息都应该被用来进一步理解应用以及是如果工作的
  4. 总之就是绞尽脑汁,想方设法,穷尽一切

checklist

1. AppDOS

  • 应用泛洪Application Flooding

目标:当大量发送请求的时候保证应用函数正确工作。可以使用SPIKE这样的fuzzing工具

  • 应用lockout

保证应用不允许攻击者来重置或者锁住用户的账号。重置需要邮箱手机认证

2. 访问控制

  • 参数分析

确保应用实施了访问控制模型,攻击者可用的任何参数不会影响其他服务的访问控制。一般来说包括操作url请求字符串,表单,客户端脚本,cookie

  • 授权

确保任何资源再发送给用户的时候都需要授权访问

  • 授权参数操作

确保一旦用户等于之后,不可以修改session id的参数来影响其他用户账号 例如accountnumber。这些参数不可修复操作

  • 授权的页面和函数

检查是否存在需要授权访问的功能表单可用通过绕过来访问

  • 应用工作流

确保需要用户执行的某个特定的授权的,涉及访问控制的工作流程,是强制被执行的。而不是跳过之类的

3. 认证

  • 认证endpoint 请求应该是https

用户输入credentials的页面应该是https的,而不是http。ssl/tls确保用户确认是发送给哪里的

  • 认证bypass

检查确保认证的过程不能被bypass。这种可是是sqli

4. 认证用户

  • credentiasl 通过加密传输

用户名密码加密传说,明文肯定不行

  • 默认账号

检查默认账号密码是否可用

  • 用户名

确认用户名不是公开信息例如邮箱 ssn

  • 密码质量

复杂度,难猜

  • 密码重置

密码重置前需要有一些设定问题回答,或者邮箱手机信息之前的确认

  • 密码lockout

多次密码错误锁定机制,不能让一直试下去。。。

  • 密码结构

特殊meta字符不能用作密码, 防止sqli注入

  • 空密码

密码不能为空

5. 认证session 管理

  • session token长度

确保token长度足够长,防止被猜出来

  • session timeout

session需要设置timeout,一段时间没有请求之后要失效

  • session reuse

从ssl保护资源转到非ssl保护资源的时候token要变更

  • session 删除

logout之后session不效

  • session token格式

token不是永久的,不会写道浏览器history或者cache中

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到