Web 安全学习笔记

本文不涉及 IIS、Windows 和 SqlServer 的安全管理与配置,尽量只谈编程相关的安全问题。

一、最简单的 Web 物理架构

您必须了解 HTTP 协议,简单总结如下:

  • 浏览器和服务器的通信采用无状态的 HTTP 协议。
  • 通过控制 HTTP 的请求头,可以控制:客户端缓存、Cookie、请求编码、相应编码等。
  • 请求内容向服务器提交数据(POST 和 GET),响应内容向浏览器发送数据。
  • Cookie 包含在每个请求和响应中,因此客户端和服务器都可以访问到。
  • 一般使用 Cookie 来维护一个浏览器会话(也有其他方式)。

二、攻击方式总览

三、Web 软件安全攻击防护

3.1、浏览器安全攻击

Cookie 假冒

定义

非期望的修改 Cookie 的值。

场景

服务器将用户的授权信息存储在 Cookie 中,然后客户端用这些 Cookie 决定导航的显示与否。如果有程序恶意的修改了Cookie,会导致权限提升。

攻击方式

  • 注入的 Javascript 代码。
  • 使用浏览器调试工具。
  • 本机病毒等。

防护措施

  • 尽量将 Cookie 设置为 HttpOnly,浏览器伪造不了这种 Cookie。
  • 防止 Javascript 注入。

隐藏变量修改

定义

非期望的修改隐藏变量。

场景

订单的折扣计算完全依赖客户端的某个变量,这个变量是从服务器生成的,所有逻辑都在客户端计算,服务器只是接受最后的计算结果。如果有程序恶意的修改了变量,会绕过某些业务逻辑。

攻击方式

  • 注入的 Javascript 代码。
  • 使用浏览器调试工具。

保护措施

  • 防止 Javascript 注入。
  • 关键的功能不要依靠客户端控制,要采用服务器控制。

跨站脚本攻击

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值