Web渗透测试Bug Bounty Checklist
作者:Sec-Labs | 发布时间:
项目地址
https://github.com/sehno/Bug-bounty/blob/master/bugbounty_checklist.md
Web 应用程序的漏洞赏金清单
这个清单可以帮助你找到一个很好的漏洞赏金狩猎方法
当你完成一个动作时,不要忘记检查;)
快乐狩猎!
目录
通配符域侦察
- [ ] 大量运行
- [ ] 运行子查找器
- [ ] 运行资产查找器
- [ ] 运行 dnsgen
- [ ] 运行 massdns
- [ ] 使用 httprobe
- [ ] 运行 aquatone(活动主机截图)
单域
扫描
- [ ] Nmap扫描
- [ ] BurpSuite爬虫
- [ ] 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 存储 SQL 注入
- [ ] 检查 CORS 实施
- [ ] 检查离线 Web 应用程序
资料来源:
OWASP
标签:学习路线, 思路分享, 学习笔记