Web 开发安全 - 攻击篇| 青训营笔记

152 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天

Cross-Site Scripting(XSS)

跨站脚本攻击:攻击者通过某种攻击方式将恶意脚本注入进网页,当用户访问页面时,恶意脚本就会被运行,即被攻击,造成的后果可能是泄漏用户信息或者用户机器被当“肉鸡”。

  • 通常难以从UI上感知(暗地执行脚本)
  • 窃取用户信息(cookie/token)
  • 绘制UI(例如弹窗),诱骗用户点击/填写表单

image.png

盲目信任提交的内容,并将string转成了Dom image.png

Stored XSS 存储型

  • 恶意脚本被存在数据库中
  • 访问页面>读数据=被攻击
  • 危害最大,对全部用户可见

Reflected XSS 反射型

  • 不涉及数据库
  • 从URL上攻击

image.png

DOM-based XSS 基于DOM

-不需要服务器的参与 -恶意攻击的发起+执行,全在浏览器完成

image.png

Mutation-baseed XSS 区别浏览器

  • 利用了浏览器渲染DOM的特性(独特优化)
  • 不同浏览器,会有区别(按浏览器进行攻击)

Cross-site request forgery(CSRF):跨站伪造请求

  • 在用户不知情的前提下
  • 利用用户权限(cookie)
  • 构造指定HTTP请求,窃取或修改用户敏感信息

image.png

最常见的CSRF是GET,点击标签或加载图片发送请求就是一次攻击;

image.png

Injection 注入攻击

SQL Injection

image.png

  • 读取请求字段
  • 直接以字符串的形式拼接SQL 语句 image.png

Denial of Service(DoS) 服务拒绝

通过某种方式(构造特定请求),导致服务器资源被显著消耗,来不及响应更多请求,导致请求挤压,进而雪崩效应。

ReDoS:基于正则表达式的DoS

贪婪:n次不行?n-1次再试试?——回溯

利用回溯的复杂度;假如服务器端写了一个贪婪的正则表达式,攻击者则可以生成一段容易产生回溯的字符串来进行攻击:使得服务器的响应时间会大大延长,接口吞吐量明显降低,响应用户请求次数明显减少; image.png

Distributed DoS(DDoS)

短时间内,来自大量僵尸设备的请求流量,服务器不能及时完成全部请求,导致请求堆积,进而雪崩效应,无法响应新请求。 主要消耗带宽。

洪水攻击:利用TCP三次握手,攻击者故意不返回第三次握手的ACK,导致连接数量堆积,无法接受新的请求; image.png

基于传输层的攻击方式

中间人攻击

在浏览器和服务器之间掺入了第三方中间人。

发生原因:

  • 明文传输
  • 信息篡改不可知
  • 方身份未验证 image.png