# 应用安全
> **一、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保护会话
- 安全策略
- 客户端
### 三、其他互联网应用
- 远程接入
- 域名系统
- 即时通信