notebook notebook
首页
  • 计算机网络
  • 计算机系统
  • 数据结构与算法
  • 计算机专业课
  • 设计模式
  • 前端 (opens new window)
  • Java 开发
  • Python 开发
  • Golang 开发
  • Git
  • 软件设计与架构
  • 大数据与分布式系统
  • 常见开发工具

    • Nginx
  • 爬虫
  • Python 数据分析
  • 数据仓库
  • 中间件

    • MySQL
    • Redis
    • Elasticsearch
    • Kafka
  • 深度学习
  • 机器学习
  • 知识图谱
  • 图神经网络
  • 应用安全
  • 渗透测试
  • Linux
  • 云原生
面试
  • 收藏
  • paper 好句
GitHub (opens new window)

学习笔记

啦啦啦,向太阳~
首页
  • 计算机网络
  • 计算机系统
  • 数据结构与算法
  • 计算机专业课
  • 设计模式
  • 前端 (opens new window)
  • Java 开发
  • Python 开发
  • Golang 开发
  • Git
  • 软件设计与架构
  • 大数据与分布式系统
  • 常见开发工具

    • Nginx
  • 爬虫
  • Python 数据分析
  • 数据仓库
  • 中间件

    • MySQL
    • Redis
    • Elasticsearch
    • Kafka
  • 深度学习
  • 机器学习
  • 知识图谱
  • 图神经网络
  • 应用安全
  • 渗透测试
  • Linux
  • 云原生
面试
  • 收藏
  • paper 好句
GitHub (opens new window)
  • 应用安全

    • 小迪安全学习笔记

    • Web 应用安全权威指南 -- 德丸浩

      • 搭建试验环境
      • HTTP、会话管理、同源策略
      • 输入处理的安全性
        • 1. Web 应用的功能与安全隐患的对应关系
          • 1.1 整体认识
          • 1.2 注入型隐患
        • 2. 输入处理与安全性
      • 跨站脚本
  • 渗透测试

  • 安全
  • 应用安全
  • Web 应用安全权威指南 -- 德丸浩
yubin
2022-07-14
目录

输入处理的安全性

# 1. Web 应用的功能与安全隐患的对应关系

# 1.1 整体认识

我们看一下 Web 应用的功能与安全隐患的对应关系,来对安全隐患有一个整体认识:

img

Web 应用常见的脚本输出和与其对应的安全隐患如下所示:

  • 输出 HTML(跨站脚本)
  • 输出 HTTP 消息头(HTTP 消息头注入)
  • 调用 SQL 语句(SQL 注入)
  • 调用 shell 命令(OS 命令注入)
  • 调用邮件头和正文(邮件头注入)

之后会对各隐患进行介绍。

我们可以得出结论:

  • 处理过程与输出过程会产生安全隐患
  • 输入过程不会产生安全隐患
  • 输出过程产生的安全隐患的名称中多数都带有“注入”

我们先看一下注入型隐患产生的原因。

# 1.2 注入型隐患

Web 应用中传递的信息多数为文本格式。HTML、HTTP 和 SQL 等支撑 Web 应用的技术多数都采用了文本格式的接口,这些文本格式都由各自的语法构成,其中还混合了命令、运算符和数据等。多数情况下,数据部分会通过使用引号或分隔符隔开的方式来区分。Web 应用的普遍形式为,首先确定文本的框架结构,然后再将数据填人其中。

SQL 注入攻击产生的原因就是,在被认定为“数据”的位置插入单引号是的数据部分结束,从而更改了 SQL 语句的构造。这个原理同样也适用于其他的注入型隐患:通过插入引号或分隔符等用于表示“数据部分边界”的字符,从而改变了文本的结构。

# 2. 输入处理与安全性

虽然校验输入值本身并不是安全性策略,但是,在安全性对策存在缺陷的情况下,通过校验输入值能够防止危害的发生,或者减轻损害的程度。

Web 应用中的输入即由 HTTP 请求传入的信息。输入处理就是指对输入值做如下处理:

  1. 检验字符编码的有效性:之所以检验字符编码的有效性有是因为存在利用字符编码的攻击手段。
  2. 必要时转换字符编码:指的是在 HTTP 消息与程序内部使用的字符编码不一致的情况下需要进行的处理。
  3. 检验参数字符串的有效性:更多的是依据应用软件规格执行的操作。
编辑 (opens new window)
上次更新: 2022/07/15, 15:40:06
HTTP、会话管理、同源策略
跨站脚本

← HTTP、会话管理、同源策略 跨站脚本→

最近更新
01
Deep Reinforcement Learning
10-03
02
误删数据后怎么办
04-06
03
MySQL 一主多从
03-22
更多文章>
Theme by Vdoing | Copyright © 2021-2024 yubincloud | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×