漏洞赏金Web渗透测试Checklist

作者:Sec-Labs | 发布时间:

项目地址

https://github.com/sehno/Bug-bounty/blob/master/bugbounty_checklist.md

Web 应用程序的错误赏金清单

这份清单可能会帮助您找到一个很好的漏洞赏金狩猎方法。
当您完成一项操作时,请不要忘记检查 ;)
狩猎愉快!

目录

侦察通配符域

  • 大量运行
  • 运行子查找器
  • 运行资产查找器
  • 运行 dnsgen
  • 运行马赛克
  • 使用httprobe
  • 运行aquatone(活着的宿主截图)

单域

扫描

  • Nmap扫描
  • Burp爬虫
  • ffuf(目录和文件模糊测试)
  • hakrawler/gau/paramspider
  • Linkfinder
  • 带有 Android 应用程序的 URL

人工检查

  • Shodan
  • Censys
  • Google dorks
  • Pastebin
  • Github
  • 开源情报

信息收集

  • 手动浏览网站
  • 蜘蛛/抓取丢失或隐藏的内容
  • 检查公开内容的文件,例如 robots.txt、sitemap.xml、.DS_Store
  • 检查主要搜索引擎的缓存以查找可公开访问的站点
  • 检查基于用户代理的内容差异(例如,移动站点,作为搜索引擎爬虫访问)
  • 执行 Web 应用程序指纹识别
  • 确定使用的技术
  • 识别用户角色
  • 确定应用程序入口点
  • 识别客户端代码
  • 识别多个版本/渠道(例如网络、移动网络、移动应用程序、网络服务)
  • 确定共同托管和相关应用程序
  • 识别所有主机名和端口
  • 识别第三方托管内容
  • 识别调试参数

配置管理

  • 检查常用的应用程序和管理 URL
  • 检查旧的、备份的和未引用的文件
  • 检查支持的 HTTP 方法和跨站点跟踪 (XST)
  • 测试文件扩展名处理
  • 测试安全 HTTP 标头(例如 CSP、X-Frame-Options、HSTS)
  • 测试策略(例如 Flash、Silverlight、机器人)
  • 在实时环境中测试非生产数据,反之亦然
  • 检查客户端代码中的敏感数据(例如 API 密钥、凭据)

安全传输

  • 检查 SSL 版本、算法、密钥长度
  • 检查数字证书的有效性(期限、签名和 CN)
  • 检查仅通过 HTTPS 传送的凭据
  • 检查登录表单是否通过 HTTPS 传送
  • 检查仅通过 HTTPS 传送的会话令牌
  • 检查是否使用了 HTTP 严格传输安全 (HSTS)

验证

  • 测试用户枚举
  • 验证绕过测试
  • 测试暴力破解保护
  • 测试密码质量规则
  • 测试记住我的功能
  • 测试密码表单/输入的自动完成
  • 测试密码重置和/或恢复
  • 测试密码更改过程
  • 测试验证码
  • 测试多因素身份验证
  • 测试注销功能是否存在
  • 测试 HTTP 上的缓存管理(例如 Pragma、Expires、Max-age)
  • 测试默认登录
  • 测试用户可访问的身份验证历史记录
  • 测试帐户锁定和密码更改成功的通道外通知
  • 使用共享身份验证模式/SSO 测试跨应用程序的一致身份验证

会话管理

  • 建立会话管理在应用程序中的处理方式(例如,cookie 中的令牌、URL 中的令牌)
  • 检查 cookie 标志的会话令牌(httpOnly 和安全)
  • 检查会话 cookie 范围(路径和域)
  • 检查会话 cookie 持续时间(过期和最大年龄)
  • 在最大生命周期后检查会话终止
  • 在相对超时后检查会话终止
  • 注销后检查会话终止
  • 测试用户是否可以同时进行多个会话
  • 测试会话 cookie 的随机性
  • 确认在登录、角色更改和注销时发出新的会话令牌
  • 使用共享会话管理测试跨应用程序的一致会话管理
  • 测试会话令人费解
  • 测试 CSRF 和点击劫持

授权

  • 测试路径遍历
  • 测试绕过授权模式
  • 测试垂直访问控制问题(又名特权升级)
  • 测试水平访问控制问题(在同一权限级别的两个用户之间)
  • 测试是否缺少授权

数据验证

  • 反射跨站脚本测试
  • 测试存储的跨站脚本
  • 测试基于 DOM 的跨站脚本
  • 测试跨站闪烁
  • 测试 HTML 注入
  • 测试 SQL 注入
  • 测试 LDAP 注入
  • ORM注入测试
  • 测试 XML 注入
  • XXE 注射剂测试
  • SSI 注射测试
  • XPath 注入测试
  • 测试 XQuery 注入
  • 测试 IMAP/SMTP 注入
  • 测试代码注入
  • 表达式语言注入测试
  • 命令注入测试
  • 溢出测试(堆栈、堆和整数)
  • 测试格式字符串
  • 测试孵化漏洞
  • 测试 HTTP 拆分/走私
  • 测试 HTTP 动词篡改
  • 测试打开重定向
  • 测试本地文件包含
  • 测试远程文件包含
  • 比较客户端和服务器端验证规则
  • 测试 NoSQL 注入
  • HTTP参数污染测试
  • 测试自动绑定
  • 质量分配测试
  • 测试 NULL/无效会话 Cookie

拒绝服务

  • 反自动化测试
  • 测试帐户锁定
  • 测试 HTTP 协议 DoS
  • 测试 SQL 通配符 DoS

商业逻辑

  • 测试功能滥用
  • 缺乏不可否认性测试
  • 测试信任关系
  • 数据完整性测试
  • 测试职责分离

密码学

  • 检查应加密的数据是否未加密
  • 根据上下文检查错误的算法使用情况
  • 检查弱算法的使用
  • 检查是否正确使用盐腌
  • 检查随机函数

有风险的功能 - 文件上传

  • 测试可接受的文件类型是否已列入白名单
  • 测试是否定义并强制执行文件大小限制、上传频率和文件总数
  • 测试文件内容是否与定义的文件类型匹配
  • 测试所有上传的文件是否都进行了反病毒扫描。
  • 测试不安全的文件名是否被清理
  • 测试上传的文件不能在 web 根目录中直接访问
  • 测试上传的文件是否在同一主机名/端口上提供服务
  • 测试文件和其他媒体是否与身份验证和授权模式集成

有风险的功能 - 卡支付

  • 测试 Web 服务器和 Web 应用程序上的已知漏洞和配置问题
  • 测试默认或可猜测的密码
  • 在实时环境中测试非生产数据,反之亦然
  • 测试注入漏洞
  • 测试缓冲区溢出
  • 测试不安全的加密存储
  • 测试传输层保护不足
  • 测试错误处理不当
  • 测试 CVSS v2 分数 > 4.0 的所有漏洞
  • 测试身份验证和授权问题
  • CSRF测试

HTML 5

  • 测试网络消息
  • 测试 Web Storage SQL 注入
  • 检查 CORS 实施
  • 检查离线 Web 应用程序

资料来源:
OWASP

标签:学习笔记, 渗透测试思路