本章需掌握知识点:
- web应用安全
- 了解web体系架构;
- 理解http协议工作机制及明文传输数据、弱验证、无状态等安全问题;
- 理解SQL注入攻击的原理及危害;
- 了解XSS跨站脚本安全问题的原理、危害、及其他针对web的攻击方式;
- 了解web防火墙、网页防篡改等常见web安全防护技术作用。、
一、WEB体系架构
- WEB应用安全威胁
- 应用系统的复杂性和多样性使得安全问题也呈现出多样化的特点
- WEB体系架构
- WEB传输协议(http、https)
- 服务端软件(apache、iis等)
- 数据库
- 应用程序(使用ASP、PHP、JSP、Perl等语言开发)
- 客户端(IE浏览器、Firefox、opera、Chrome等)
二、WEB传输协议
- HTTP(超文本传输协议)工作机制
- 请求响应模式
- HTTP请求包含三个部分(方法 URL 协议/版本、请求头部、请求正文)
- HTTP响应包含三个部分(协议状态代码描叙、响应包头、实体包)
- 请求响应模式
- 网页响应请求状态码
- 200:网页请求成功
- 301:永久重定向
- 401:未经授权
- 403:禁止访问
- 404:找不到页面
- 500:服务器错误
HTTP协议安全问题
常用WEB服务端软件:apache、iis、tomcat、websphere、weblogic
- 服务支撑软件安全问题:
- 软件自身安全漏洞
- 例:iis 5.0超长URL拒绝服务漏洞
- 例:Unicode解码漏洞
- 软件配置缺陷
- 默认账号、口令
- 不安全的配置
- 例:iis配置允许远程写入
- 软件自身安全漏洞
- 应用软件安全问题
四、客户端软件
- web应用的客户端主要是各种浏览器
- 客户端软件安全问题:
- 软件自身漏洞
- 各种插件和组件漏洞
- Cookie技术缺陷
- 原理:cookie是辨别用户身份,进行session跟踪而存储在用户本地重点的数据,web服务器利用cookie判断http的状态;
- cookie缺陷:
- 数据透明(cookie是存储在计算机本地的一小段文本信息,计算机用户可以随意查看)
- 易被违法收集(网站可以利用cookie收集用户的访问记录,从而获得用户的身份、银行卡号等数据)
- 易伪造(伪造cookie,欺骗网站易其他用户的身份进行操作)
- 客户端软件安全问题:
五、WEB应用安全问题
- SQL注入
- 原理:程序没有对用户输入数据的合法性进行判断,使攻击者可以绕过应用程序限制,构造一段SQL命令并传递到数据库中,实现对数据库的操作
- 跨站脚本
- 失效验证与会话管理
- 不安全的对象直接引用
- 跨站请求伪造
- 不安全的配置管理
- 不安全的密码存储
- 错误的访问控制
- 传输保护不足
- 未经验证的网址重定向
- 不恰当的异常处理
- 拒绝服务攻击
六、web安全防护技术
- web防火墙
- 工作在应用层
- 基本功能
- 审计并拦截HTTP数据流
- web应用访问控制
- web应用加固
- 网页防篡改
- 监控web服务器上的页面文件,防止被篡改
- 机制
- 备份文件对比、摘要文件对比、删改操作触发、系统底层过滤