Skip to content
大纲

web网络安全

xss攻击 (Cross Site Scripting攻击,跨站脚本攻击)

  • 反射型:所谓反射型,得用户去触发,那得先注入,注入得通过页面劫持或者不法数据返回,所以不明白这是咋分成反射型的,和其他方式关联极大
    • 账号密码
      1. 表单方式提交: 输入js代码,表单没做过滤转义,因为是get请求,会显示在浏览器地址栏,部分老旧浏览器不自动转义,会直接执行js代码
  • 存储型
    • 评论区、文章类
      1. 表单或者其他带参数提交:输入js或者有执行js能力的标签代码块,提交没做过滤转义,服务端接收和返回都没做处理,返回给页面,页面做读取渲染,像渲染script标签,执行其内代码、a标签,点击执行相应代码或者跳转某个地方

防御方式

  1. 前端入参字符转义过滤,服务端入参过滤
  2. 服务器端返回前过滤或者转义
  3. 长度限制
  4. cookies设置httponly为true,让js无法获取
  5. csp(Content-Security-Policy),设置http头部,或者在meta头带入

csrf攻击 (Cross-site request forgery, 跨站请求伪造)

通过存储在cookies里的信息,请求自动带上,校验身份

  • 在只有cookies鉴权时,用户a登入网站A,拿到鉴权信息后,点进了用户b引诱的网页B,B内向网站A的服务发送了恶意请求,因为请求网站A时自动带上鉴权信息,所以请求能通过

防御方式

  1. 验证 HTTP Referer 字段。判断请求来源
  2. 添加请求参数双重验证
  3. 在 HTTP 头中自定义属性并验证
  4. cookie设置SameSite,只能url和请求url同样时才带上cookies
  5. 验证码图片相关

sql注入

利用服务端代码漏洞,注入可执行SQL代码,服务端读取时没做相关处理,导致这段SQL命令

防御方式

  1. 长度限制
  2. 关键字过滤转义
  3. 不直接返回显示错误原因
  4. 预编译防注入

Released under the MIT License.