本章需掌握知识点:

  • web应用安全
    • 了解web体系架构;
    • 理解http协议工作机制及明文传输数据、弱验证、无状态等安全问题;
    • 理解SQL注入攻击的原理及危害;
    • 了解XSS跨站脚本安全问题的原理、危害、及其他针对web的攻击方式;
    • 了解web防火墙、网页防篡改等常见web安全防护技术作用。、

一、WEB体系架构

  1. WEB应用安全威胁
    1. 应用系统的复杂性和多样性使得安全问题也呈现出多样化的特点
  2. WEB体系架构
    1. WEB传输协议(http、https)
    2. 服务端软件(apache、iis等)
    3. 数据库
    4. 应用程序(使用ASP、PHP、JSP、Perl等语言开发)
    5. 客户端(IE浏览器、Firefox、opera、Chrome等)

image.png

二、WEB传输协议

  1. HTTP(超文本传输协议)工作机制
    1. 请求响应模式
      1. HTTP请求包含三个部分(方法 URL 协议/版本、请求头部、请求正文)
      2. HTTP响应包含三个部分(协议状态代码描叙、响应包头、实体包)

image.pngimage.png

  1. 网页响应请求状态码
    1. 200:网页请求成功
    2. 301:永久重定向
    3. 401:未经授权
    4. 403:禁止访问
    5. 404:找不到页面
    6. 500:服务器错误
  2. HTTP协议安全问题

    1. 信息泄露(传输数据明文)
    2. 弱验证(会话双方没有严格认证机制)
      1. http1.1版本提供摘要访问认证机制,采用MD5将用户名、密码请求包头等进行封装,但仍然不提供对实体信息的保护
    3. 缺乏状态跟踪(请求响应机制决定http是一个无状态协议)
      1. Session解决方案带来的安全问题
    4. 为了解决HTTP的安全问题,在HTTP的基础上加入了SSL协议,成为HTTPS协议。

      三、WEB服务端软件安全问题

  3. 常用WEB服务端软件:apache、iis、tomcat、websphere、weblogic

  4. 服务支撑软件安全问题:
    1. 软件自身安全漏洞
      1. 例:iis 5.0超长URL拒绝服务漏洞
      2. 例:Unicode解码漏洞
    2. 软件配置缺陷
      1. 默认账号、口令
      2. 不安全的配置
        1. 例:iis配置允许远程写入
  5. 应用软件安全问题

四、客户端软件

  1. web应用的客户端主要是各种浏览器
    1. 客户端软件安全问题:
      1. 软件自身漏洞
      2. 各种插件和组件漏洞
      3. Cookie技术缺陷
        1. 原理:cookie是辨别用户身份,进行session跟踪而存储在用户本地重点的数据,web服务器利用cookie判断http的状态;
        2. cookie缺陷:
          1. 数据透明(cookie是存储在计算机本地的一小段文本信息,计算机用户可以随意查看)
          2. 易被违法收集(网站可以利用cookie收集用户的访问记录,从而获得用户的身份、银行卡号等数据)
          3. 易伪造(伪造cookie,欺骗网站易其他用户的身份进行操作)

五、WEB应用安全问题

  1. SQL注入
    1. 原理:程序没有对用户输入数据的合法性进行判断,使攻击者可以绕过应用程序限制,构造一段SQL命令并传递到数据库中,实现对数据库的操作
  2. 跨站脚本
  3. 失效验证与会话管理
  4. 不安全的对象直接引用
  5. 跨站请求伪造
  6. 不安全的配置管理
  7. 不安全的密码存储
  8. 错误的访问控制
  9. 传输保护不足
  10. 未经验证的网址重定向
  11. 不恰当的异常处理
  12. 拒绝服务攻击


六、web安全防护技术

  1. web防火墙
    1. 工作在应用层
    2. 基本功能
      1. 审计并拦截HTTP数据流
      2. web应用访问控制
      3. web应用加固
  2. 网页防篡改
    1. 监控web服务器上的页面文件,防止被篡改
    2. 机制
      1. 备份文件对比、摘要文件对比、删改操作触发、系统底层过滤