本文不涉及 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 注入。
- 关键的功能不要依靠客户端控制,要采用服务器控制。
Web安全攻防与防护详解

本文详述了Web安全的各个层面,包括浏览器、服务器和数据库的安全攻击及防护措施,如Cookie假冒、跨站脚本攻击、SQL注入等。同时,介绍了网络安全攻击如DDoS和传输数据篡改的防范策略,以及Web安全学习路线。
最低0.47元/天 解锁文章
2214

被折叠的 条评论
为什么被折叠?



