Web安全 | 青训营

82 阅读3分钟

常见Web攻击类型

Web攻击的常见类型包括:

  1. SQL注入攻击:攻击者通过在用户输入中插入恶意SQL代码,来操控或破坏数据库。
  2. 跨站脚本攻击(XSS):攻击者通过在网页中插入恶意脚本,当其他用户浏览这个网页时,这些脚本会被执行。
  3. 跨站请求伪造(CSRF):攻击者诱导用户点击链接或按钮,然后利用用户的登录状态,以用户的名义发送恶意请求。
  4. 点击劫持攻击:攻击者通过透明的层覆盖在目标网站上,当用户点击该层时,实际上是在点击攻击者设置的链接。
  5. 会话劫持:攻击者获取到用户的会话ID,然后冒充用户的身份进行操作。
  6. 文件上传漏洞:攻击者通过上传包含恶意代码的文件,来对服务器进行攻击。
  7. DDOS攻击:攻击者通过控制大量的计算机同时向目标网站发送大量的请求,使其无法正常服务。
  8. 中间人攻击:攻击者在通信双方之间插入自己,拦截和篡改信息。
  9. 敏感数据泄露:由于配置错误、软件漏洞或者人为疏忽,导致敏感信息被泄露。
  10. 零日攻击:利用软件的未公开漏洞进行的攻击。

为了防止这些攻击,可以采取以下策略:

  1. 使用参数化查询或预编译语句来防止SQL注入攻击。
  2. 对用户输入进行严格的验证和过滤,防止跨站脚本攻击。
  3. 使用CSRF令牌来防止跨站请求伪造。
  4. 对用户提交的数据进行验证,确保其合法性。
  5. 对敏感操作进行二次确认,防止会话劫持。
  6. 限制文件上传的类型和大小,防止文件上传漏洞。
  7. 使用防火墙和入侵检测系统来防止DDOS攻击。
  8. 使用SSL/TLS来加密通信内容,防止中间人攻击。
  9. 定期备份数据,防止敏感数据泄露。
  10. 及时更新和打补丁,防止零日攻击。

本文将基于最常见的几种Web攻击类型讨论:

XSS跨站脚本攻击

  • 窃取用户信息

存储型

恶意脚本被存在数据库中

危害最大,对全部用户可见

Reflected

在服务端注入脚本

DOM-based

不需要服务器,在浏览器中注入脚本

image-20230420213840630

Mutation-based

基于浏览器,触发Error回调函数

防御

不要将用户提交内容直接转换成DOM

image-20230420214846591

SOP同源策略

image-20230420215037304

CSP安全策略

CSRF跨站伪造请求攻击

防御

image-20230420215142400

token防御

image-20230420215259156

iframe攻击防御

  • 设置服务器响应头部
 X-FRAME-OPTIONS:DENY/SAMEORIGIN
  • 区分GET/POST请求
  • 通过设置SameSite Cookie避免用户信息被携带

image-20230420215657045

image-20230420215819206

第三方Cookie问题:

服务端设置

 SameSite:

SameSite与CORS区别:

SameSiteCORS
Cookie发送资源读写(HTTP请求)
domain和页面域名资源域名与页面域名
同源策略白名单

使用中间件

Injection

SQL恶意注入

image-20230420214216481

防御

  • 找到项目中查询SQL的地方
  • 使用prepared statement

SSRF服务端伪造请求

防御

DoS服务拒绝攻击

TCP三次握手没有完成,又称为SYN雪崩

image-20230420214658230

防御

image-20230420220429548

中间人攻击

防御

image-20230420220501532

HTTPS的特性

image-20230420220519774

SRI

通过对比原始内容的哈希值与实际内容的哈希值

保证CDN上资源没有被篡改

Feature Policy

允许开发者使用的功能