阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      黑客攻防技术宝典:Web 实战篇

      黑客攻防技术宝典

      内容简介

      《黑客攻防技术宝典。Web 实战篇(第 2 版)》是探索和研究 Web 应用程序安全漏洞的实践指南。作者利用大量的实际案例和示例代码,详细介绍了各类 Web 应用程序的弱点,并深入阐述了如何针对 Web 应用程序进行具体的渗透测试。本书从介绍当前 Web 应用程序安全概况开始,重点讨论渗透测试时使用的详细步骤和技巧,总结书中涵盖的主题。每章后还附有习题,便于读者巩固所学内容。

      第 2 版新增了 Web 应用程序安全领域近年来的发展变化新情况,并以尝试访问的链接形式提供了几百个互动式“漏洞实验室”,便于读者迅速掌握各种攻防知识与技能。

      《黑客攻防技术宝典。Web 实战篇(第 2 版)》适合各层次计算机安全人士和 Web 开发与管理领域的技术人员阅读。

      作者简介

      Dafydd Stuttard,世界知名安全顾问、作家、软件开发人士。牛津大学博士,MDSec 公司联合创始人,尤其擅长 Web 应用程序和编译软件的渗透测试。Dafydd 以网名 PortSwigger 蜚声安全界,是众所周知的 Web 应用程序集成攻击平台 Burp Suite 的开发者。

      Marcus Pinto,渗透测试专家,剑桥大学硕士,MDSec 公司联合创始人。Marcus 为全球金融、政府、电信、博彩、零售等行业组织和机构提供 Web 应用程序渗透测试和安全防御的咨询与培训。

      精彩书评

      ★关于黑客攻防技术,没有一本书能比这本书讲解得更为透彻和全面!

      ——Jason Haddix,惠普公司渗透测试总监

      ★如果你对 Web 应用程序安全感兴趣,我强烈推荐本书,它实为 Web 安全人士必读之作。

      ——Robert Wesley McGrew,McGrew 安全公司研究人员

      ★第 1 版本来就是 Web 安全领域的扛鼎之作,第 2 版可谓经典之上的完善,值得拥有!

      ——Daniel Miessler,安全顾问

      目录

      第 1 章  Web 应用程序安全与风险

      • 1.1  Web 应用程序的发展历程
      • 1.1.1  Web 应用程序的常见功能
      • 1.1.2  Web 应用程序的优点
      • 1.2  Web 应用程序安全
      • 1.2.1  “本站点是安全的”
      • 1.2.2  核心安全问题:用户可提交任意输入
      • 1.2.3  关键问题因素
      • 1.2.4  新的安全边界
      • 1.2.5  Web 应用程序安全的未来
      • 1.3  小结

      第 2 章  核心防御机制

      • 2.1  处理用户访问
      • 2.1.1  身份验证
      • 2.1.2  会话管理
      • 2.1.3  访问控制
      • 2.2  处理用户输入
      • 2.2.1  输入的多样性
      • 2.2.2  输入处理方法
      • 2.2.3  边界确认
      • 2.2.4  多步确认与规范化
      • 2.3  处理攻击者
      • 2.3.1  处理错误
      • 2.3.2  维护审计日志
      • 2.3.3  向管理员发出警报
      • 2.3.4  应对攻击
      • 2.4  管理应用程序
      • 2.5  小结
      • 2.6  问题

      第 3 章  Web 应用程序技术

      • 3.1  HTTP
      • 3.1.1  HTTP 请求
      • 3.1.2  HTTP 响应
      • 3.1.3  HTTP 方法
      • 3.1.4  URL
      • 3.1.5  REST
      • 3.1.6  HTTP 消息头
      • 3.1.7  cookie
      • 3.1.8  状态码
      • 3.1.9  HTTPS
      • 3.1.10  HTTP 代理
      • 3.1.11  HTTP 身份验证
      • 3.2  Web 功能
      • 3.2.1  服务器端功能
      • 3.2.2  客户端功能
      • 3.2.3  状态与会话
      • 3.3  编码方案
      • 3.3.1  URL 编码
      • 3.3.2  Unicode 编码
      • 3.3.3  HTML 编码
      • 3.3.4  Base64 编码
      • 3.3.5  十六进制编码
      • 3.3.6  远程和序列化框架
      • 3.4  下一步
      • 3.5  问题

      第 4 章  解析应用程序

      • 4.1  枚举内容与功能
      • 4.1.1  Web 抓取
      • 4.1.2  用户指定的抓取
      • 4.1.3  发现隐藏的内容
      • 4.1.4  应用程序页面与功能路径
      • 4.1.5  发现隐藏的参数
      • 4.2  分析应用程序
      • 4.2.1  确定用户输入入口点
      • 4.2.2  确定服务器端技术
      • 4.2.3  确定服务器端功能
      • 4.2.4  解析受攻击面
      • 4.2.5  解析 Extreme Internet Shopping 应用程序
      • 4.3  小结
      • 4.4  问题

      第 5 章  避开客户端控件

      • 5.1  通过客户端传送数据
      • 5.1.1  隐藏表单字段
      • 5.1.2  HTTP cookie
      • 5.1.3  URL 参数
      • 5.1.4  Referer 消息头
      • 5.1.5  模糊数据
      • 5.1.6  ASP.NET ViewState
      • 5.2  收集用户数据:HTML 表单
      • 5.2.1  长度限制
      • 5.2.2  基于脚本的确认
      • 5.2.3  禁用的元素
      • 5.3  收集用户数据:浏览器扩展
      • 5.3.1  常见的浏览器扩展技术
      • 5.3.2  攻击浏览器扩展的方法
      • 5.3.3  拦截浏览器扩展的流量
      • 5.3.4  反编译浏览器扩展
      • 5.3.5  附加调试器
      • 5.3.6  本地客户端组件
      • 5.4  安全处理客户端数据
      • 5.4.1  通过客户端传送数据
      • 5.4.2  确认客户端生成的数据
      • 5.4.3  日志与警报
      • 5.5  小结
      • 5.6  问题

      第 6 章  攻击验证机制

      • 6.1  验证技术
      • 6.2  验证机制设计缺陷
      • 6.2.1  密码保密性不强
      • 6.2.2  蛮力攻击登录
      • 6.2.3  详细的失败消息
      • 6.2.4  证书传输易受攻击
      • 6.2.5  密码修改功能
      • 6.2.6  忘记密码功能
      • 6.2.7  “记住我”功能
      • 6.2.8  用户伪装功能
      • 6.2.9  证书确认不完善
      • 6.2.10  非唯一性用户名
      • 6.2.11  可预测的用户名
      • 6.2.12  可预测的初始密码
      • 6.2.13  证书分配不安全
      • 6.3  验证机制执行缺陷
      • 6.3.1  故障开放登录机制
      • 6.3.2  多阶段登录机制中的缺陷
      • 6.3.3  不安全的证书存储
      • 6.4  保障验证机制的安全
      • 6.4.1  使用可靠的证书
      • 6.4.2  安全处理证书
      • 6.4.3  正确确认证书
      • 6.4.4  防止信息泄露
      • 6.4.5  防止蛮力攻击
      • 6.4.6  防止滥用密码修改功能
      • 6.4.7  防止滥用账户恢复功能
      • 6.4.8  日志、监控与通知
      • 6.5  小结
      • 6.6  问题

      第 7 章  攻击会话管理

      • 7.1  状态要求
      • 7.2  会话令牌生成过程中的薄弱环节
      • 7.2.1  令牌有一定含义
      • 7.2.2  令牌可预测
      • 7.2.3  加密令牌
      • 7.3  会话令牌处理中的薄弱环节
      • 7.3.1  在网络上泄露令牌
      • 7.3.2  在日志中泄露令牌
      • 7.3.3  令牌 - 会话映射易受攻击
      • 7.3.4  会话终止易受攻击
      • 7.3.5  客户端暴露在令牌劫持风险之中
      • 7.3.6  宽泛的 cookie 范围
      • 7.4  保障会话管理的安全
      • 7.4.1  生成强大的令牌
      • 7.4.2  在整个生命周期保障令牌的安全
      • 7.4.3  日志、监控与警报
      • 7.5  小结
      • 7.6  问题

      第 8 章  攻击访问控制

      • 8.1  常见漏洞
      • 8.1.1  完全不受保护的功能
      • 8.1.2  基于标识符的功能
      • 8.1.3  多阶段功能
      • 8.1.4  静态文件
      • 8.1.5  平台配置错误
      • 8.1.6  访问控制方法不安全
      • 8.2  攻击访问控制
      • 8.2.1  使用不同用户账户进行测试
      • 8.2.2  测试多阶段过程
      • 8.2.3  通过有限访问权限进行测试
      • 8.2.4  测试“直接访问方法”
      • 8.2.5  测试对静态资源的控制
      • 8.2.6  测试对 HTTP 方法实施的限制
      • 8.3  保障访问控制的安全
      • 8.4  小结
      • 8.5  问题

      第 9 章  攻击数据存储区

      • 9.1  注入解释型语言
      • 9.2  注入 SQL
      • 9.2.1  利用一个基本的漏洞
      • 9.2.2  注入不同的语句类型
      • 9.2.3  查明 SQL 注入漏洞
      • 9.2.4  “指纹”识别数据库
      • 9.2.5  UNION 操作符
      • 9.2.6  提取有用的数据
      • 9.2.7  使用 UNION 提取数据
      • 9.2.8  避开过滤
      • 9.2.9  二阶 SQL 注入
      • 9.2.10  高级利用
      • 9.2.11  SQL 注入之外:扩大数据库攻击范围
      • 9.2.12  使用 SQL 注入工具
      • 9.2.13  SQL 语法与错误参考
      • 9.2.14  防止 SQL 注入
      • 9.3  注入 NoSQL
      • 9.4  注入 XPath
      • 9.4.1  破坏应用程序逻辑
      • 9.4.2  谨慎 XPath 注入
      • 9.4.3  盲目 XPath 注入
      • 9.4.4  查找 XPath 注入漏洞
      • 9.4.5  防止 XPath 注入
      • 9.5  注入 LDAP
      • 9.5.1  利用 LDAP 注入
      • 9.5.2  查找 LDAP 注入漏洞
      • 9.5.3  防止 LDAP 注入
      • 9.6  小结
      • 9.7  问题

      第 10 章  测试后端组件

      • 10.1  注入操作系统命令
      • 10.1.1  例 1:通过 Perl 注入
      • 10.1.2  例 2:通过 ASP 注入
      • 10.1.3  通过动态执行注入
      • 10.1.4  查找 OS 命令注入漏洞
      • 10.1.5  查找动态执行漏洞
      • 10.1.6  防止 OS 命令注入
      • 10.1.7  防止脚本注入漏洞
      • 10.2  操作文件路径
      • 10.2.1  路径遍历漏洞
      • 10.2.2  文件包含漏洞
      • 10.3  注入 XML 解释器
      • 10.3.1  注入 XML 外部实体
      • 10.3.2  注入 SOAP
      • 10.3.3  查找并利用 SOAP 注入
      • 10.3.4  防止 SOAP 注入
      • 10.4  注入后端 HTTP 请求
      • 10.4.1  服务器端 HTTP 重定向
      • 10.4.2  HTTP 参数注入
      • 10.5  注入电子邮件
      • 10.5.1  操纵电子邮件标头
      • 10.5.2  SMTP 命令注入
      • 10.5.3  查找 SMTP 注入漏洞
      • 10.5.4  防止 SMTP 注入
      • 10.6  小结
      • 10.7  问题

      第 11 章  攻击应用程序逻辑

      • 11.1  逻辑缺陷的本质
      • 11.2  现实中的逻辑缺陷
      • 11.2.1  例 1:征求提示
      • 11.2.2  例 2:欺骗密码修改功能
      • 11.2.3  例 3:直接结算
      • 11.2.4  例 4:修改保险单
      • 11.2.5  例 5:入侵银行
      • 11.2.6  例 6:规避交易限制
      • 11.2.7  例 7:获得大幅折扣
      • 11.2.8  例 8:避免转义
      • 11.2.9  例 9:避开输入确认
      • 11.2.10  例 10:滥用搜索功能
      • 11.2.11  例 11:利用调试消息
      • 11.2.12  例 12:与登录机制竞赛
      • 11.3  避免逻辑缺陷
      • 11.4  小结
      • 11.5  问题

      第 12 章  攻击其他用户

      • 12.1  XSS 的分类
      • 12.1.1  反射型 XSS 漏洞
      • 12.1.2  保存型 XSS 漏洞
      • 12.1.3  基于 DOM 的 XSS 漏洞
      • 12.2  进行中的 XSS 攻击
      • 12.2.1  真实 XSS 攻击
      • 12.2.2  XSS 攻击有效载荷
      • 12.2.3  XSS 攻击的传送机制
      • 12.3  查找并利用 XSS 漏洞
      • 12.3.1  查找并利用反射型 XSS 漏洞
      • 12.3.2  查找并利用保存型 XSS 漏洞
      • 12.3.3  查找并利用基于 DOM 的 XSS 漏洞
      • 12.4  防止 XSS 攻击
      • 12.4.1  防止反射型与保存型 XSS 漏洞
      • 12.4.2  防止基于 DOM 的 XSS 漏洞
      • 12.5  小结
      • 12.6  问题
      目录
      目录