你将学到什么
- 阅读 HTTP 请求与响应
- 理解常见 Web 漏洞的成因
- 将攻击现象与安全实现联系起来
在隔离的练习环境中学习 HTTP、身份验证、输入校验以及常见 Web 漏洞。
共 32 题。
Web难度 3该登录门户提供表单登录、JSON API 登录和验证码检查。管理员真实密码未知,但比较操作的实现可能允许绕过。
Web难度 3Secure Bank 可用余额中的金币购买奖品。若余额检查和扣款不是原子操作,请思考如何利用两者之间的空隙。
Web难度 3该贺卡生成器以 Flask/Jinja2 构建,会把用户消息直接交给模板引擎渲染。请检查模板语法能被执行到何种程度。
Web难度 4在这个 Node.js/Express 应用中,已登录用户能更新自己的资料。请检查用于更新的递归合并函数是否过滤了特殊键。
Web难度 4该 GraphQL API 公开 User 对象的 schema,并启用了内省。请调查默认界面之外是否存在未记录的查询或字段。
Web难度 4该 OAuth 2.0 授权提供方提供登录流程,但对 redirect_uri 的校验可能过弱。请尝试劫持授权码并取得管理员级访问令牌。
Web难度 4该登录门户使用 MongoDB,并把用户名和密码 JSON 直接放入查询。请尝试在不知道真实密码时以管理员身份登录。
Web难度 4旧式备份系统 KinoVault 据称用 Python `pickle` 序列化用户会话并存进 Cookie。请分析 Cookie 格式,并检查构造的 pickle 是否能提升权限。