ξ1-Web安全综述

WEB系统架构

image-20200629100523627

新的安全问题

  • SQL注入
  • 存储型XSS
  • 文件上传
  • ……

OWASP TOP10

  • 注入
  • 失效的身份认证和会话管理
  • XML外部实体(XXE)
  • 失效的访问控制
  • 安全配置错误
  • 跨站脚本(XSS)
  • 不安全的反序列化
  • 使用含有已知漏洞的组件
  • 不足的日志记录和监控

ξ2-Web安全基础知识

HTTP协议(超文本传输协议)

HTTP特点

  • HTTP协议建立在TCP协议基础之上

  • HTTP协议是无状态的

URL

  • 统一资源定位符,从协议开始,可以唯一确定资源地址的字符串

URI

  • 统一资源标识符,在一定约束条件下可以唯一确定资源地址的字符串(URL中除去域名和端口部分)

HTTP方法

  • GET:获取资源

    • 获取请求页面的指定消息

    • 请求参数在请求头中

    • 请求长度有限制

    eg:GET /index.php?id=1 HTTP/1.1

  • POST:传输实体主体

    • 获取请求页面的指定消息
    • 请求参数在请求正文

    eg:POST /index.php HTTP/1.1

  • HEAD:返回报文首部

  • OPTIONS:询问支持的方法

  • PUT:传输文件

  • DELETE:删除文件

HTTP状态码

  • 200:客户端请求成功,最常见的内容
  • 204:请求处理成功,但没有资源返回
  • 206:客户端进行了范围请求(拒绝全部请求)
  • 301:永久性重定向,表示资源已经被分配新的URL,以后应使用资源现在所指的URL
  • 302:临时性重定向,表示资源已经被分配了新的URL,希望用户(本次)能使用新的URL
  • 304:服务器资源未改变,可直接使用未过期的缓存
  • 400:请求语法中存在报文错误,需要修改再次发送
  • 401:该状态码表示需要通过HTTP认证
  • 403:请求访问的资源服务器拒绝
  • 404:服务器上没有找到资源
  • 500:服务器内部错误
  • 503:服务器当前不能处理客户端的请求

HTTP首部

HTTP请求报文

image-20200629160619071

HTTP响应报文

image-20200629161125218

HTTP首部字段

请求字段

  • Host:请求资源的主机和端口号
  • User- Agent:客户端操作系统,浏览器等其他信息
  • Referer:访问当前页面的上一个页面
  • Cookie:请求者的身份凭证
  • Accept:客户端希望接收的哪些MIME类型消息
  • Accept-Charset: 指定客户端接收的字符集

响应字段

  • Server:服务器所使用的Web服务名字
  • Set-Cookie:向客户端设置Cookie
    • 在浏览器客户端中设置一个Cookie,由服务器生成Cookie
  • Last-Modified:告诉浏览器资源修改的最后时间
  • Content-Length:正文长度
  • Location:引导用户转向与请求URI不同的资源

学习Web安全应该注意的问题(ಥ_ಥ)

image-20200630094855509