# 应用安全 > **一、Web应用安全**
>     了解WEB体系架构;
>     理解HTTP协议工作机制及明文传输数据、弱验证、无状态等安全问题;
>     理解SQL注入攻击的原理及危害;
>     了解跨站脚本安全问题的原理及危害及其他针对WEB的攻击方式;
>     了解WEB防火墙、网页防篡改等常见Web安全防护技术作用。 > > **二、电子邮件安全**
>     理解电子邮件工作机制及SMTP、POP3协议;
>     了解电子邮件安全问题及解决方案。 > > **三、其他互联网应用**
>     了解远程接入、域名系统、即时通讯等其他互联网应用安全问题及解决措施。 应用系统的复杂性多样性使得安全问题也呈现出多样化的特点。 ### 一、Web应用安全 - WEB服务器端安全问题(支撑软件、B应用程序) - Web客户端(浏览器) - Web协议(Http) #### 1、HTTP协议 1. **HTTP(超文本传输协议)工作机制** 请求响应模式 - HTTP请求包含三个部分(方法URL协议/版本、请求头部、请求正文) - HTTP响应包含三个部分(协议状态代码描述、响应包头实体包) 2. **HTTP协议安全问题** - 信息泄漏(传输数据明文) - 弱验证(会话双方没有严格认证机制) - http1.1提供摘要访问认证机制,采用MD5将用户名、密码、请求包头等进行封装,但仍然不提供对实体信息的保护。 - 缺乏状态跟踪(请求响应机制决定http是一个无状态协议) - Session解决方案带来的安全问题 #### 2、Web服务端软件安全问题 1. **服务支撑软件安全问题** - 软件自身安全漏洞 > 例:IIS 5.0超长URL拒绝服务漏洞
> 例:Unicode解码漏洞 - 软件配置缺陷 - 默认账号、口令 - 不安全的配置 > 例:IIS配置允许远程写入 2. **应用软件安全问题** #### 3、Web安全防护技术 1. **Web防火墙** - 工作在应用层 - 基本功能 - 审计并拦截HTTP数据流 - Web应用访问控制 - Web应用加固 2. **网页防篡改** - 监控Web服务器上的页面文件,防止被篡改 - 机制 - 备份文件对比 - 摘要文件对比 - 删改操作触发 - 系统底层过滤 #### 4、典型注入攻击 - SQL注入 - **原理**:程序没有对用户输入数据的合法性进行判断,使攻击者可以绕过应用程序限制,构造一段SQL语句并传递到数据库中,实现对数据库的操作。 ![image-20241004152847120](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20241004152847120.png) - **可以传递到数据库的数据都是攻击对象。** - http://www.test.com/showdetail.asp?id=49' And (update user set passwd = "123" where user name = 'admin'); - Select * from 表名 where 字段 = '49' And (update user set passwd = "123" where user name = admin) 非法的SQL语句被传递到数据库中执行! #### 5、SQL注入的危害 1. **数据库信息收集** - 数据检索 2. **操作数据库** - 增加数据 - 删除数据 - 更改数据 3. **操作系统** - 借助数据库某些功能(例如:SQL Server的内置存储过程XP_CMDSheII) #### 6、SQL注入的防御 1. **防御的对象:所有外部传入数据** - 用户的输入 - 提交的URL请求中的参数部分 - 从cookie中得到的数据 - 其他系统传入的数据 2. **防御的方法** - 白名单:限制传递数据的格式 - 黑名单:过滤 - 过滤特殊字串:update、insert、delete等 - 开发时过滤特殊字符:单引号、双引号、斜杠、反斜杠、冒号、空字符等的字符 - 部署防SQL注入系统或脚本 #### 7、跨站脚本 1. **原理** 由于程序没有对用户提交的变量中的HTML代码进行过滤或转换,使得脚本可被执行,攻击者可以利用用户和服务器之间的信任关系实现恶意攻击。 2. **危害** 敏感信息泄露、账号劫持、Cookie欺骗、拒绝服务、钓鱼等 3. **防范** - 不允许HTML中脚本运行 - 对所有脚本进行严格过滤 #### 8、针对WEB应用的攻击 - 失效的验证和会话管理 - 不安全的对象直接引用 - 跨站请求伪造 - 不安全的配置管理 - 不安全的密码存储 - 错误的访问控制 - 传输保护不足 - 未经验证的网址重定向 - 不恰当的异常处理 - 拒绝服务攻击 ### 二、电子邮件安全 #### 1、POP3/SMTP协议工作机制 - 简单的请求响应模式 #### 2、安全问题 - 信息泄漏(用户帐号密码、邮件内容) - 身份验证不足(社会工程学攻击、垃圾邮件) #### 3、安全解决 - 服务器端 - 安全邮件协议 - 使用SSL保护会话 - 安全策略 - 客户端 ### 三、其他互联网应用 - 远程接入 - 域名系统 - 即时通信