常见 Web 信息安全
一般来说 Web 安全需要符合三点安全要素:
- 保密性:通过加密等方法确保数据的保密性
- 完整性:要求用户取得的资料是完整而不可被篡改的
- 可用性:保证网站服务的持续可访问性
以下是常见的影响 Web 安全的攻击手段:
1. SQL注入
使用恶意的 SQL 语法去影响数据库内容:
- // “–” 是 SQL 语句的注释符号
- /user/profile?id=1";DROP TABLE user–
- SELECT * FROM USER WHERE id = "1"; DROP TABLE user–
用户登录:
- // password" AND 11=1–
- SELECT * FROM USER WHERE username = "Mark"; AND 11=1– AND PASSWORD="1234"
简单的防范手段:不信任用户输入的数据,确保用户输入必须经过检查,目前许多成熟的 Web 框架都支持ORM 服务,大部分都基本防范了 SQL 注入。
2. XSS(Cross-Site Scripting)
XSS 也很容易将恶意代码植入到网页,让看到网页的用户受到干扰,常见的重灾区包括BBS、留言板等。实际上 XSS 的概念很简单,通过表单输入建立一些恶意网址、恶意图片网址或把 JavsScript 代码注入到 HTML中,当用户浏览页面时就会被触发。
- <IMG SRC=""onerror="alert('XSS')">
简易的防范手段方式:不信任用户输入的任何资料,将所有输入内容编码并过滤。
3. CSRF
CSRF 跨站请求伪造又被称为 one-click attack 或者 session riding,通常缩写为CSRF 或 XSRF。在已登录的 Web 应用上执行非本意的操作的攻击方法。
举一个例子:假如一家银行执行转帐操作的 URL 地址如下: