Web 开发的安全之旅 | 青训营笔记

31 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第10天

今日学习了 web 开发的安全之旅!

image.png 注入攻击 具体流程:

  • 请求
  • sql 参数 恶意注入
  • server -> 参数->sql
  • 运行 sql code
  • 结果:获取其他数据,修改数据,删除数据.

image.png

攻击者:

image.png

sql 注入,被动删库跑路

image.png

image.png injection demo 2 --读取+修改

image.png

ssrf demo

image.png

image.png dos 攻击 Denial of Service (Dos) 通过某种方式(构造特定请求),导致服务器资源被显著小号,来不及响应更多请求,导致请求挤压,进而雪崩效应.

正则表达式--贪婪模式

重复匹配时[?] vs [no?]满足一个与尽量多

image.png

image.png 回溯型问题

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

不搞复杂的,量大就完事了 攻击特点:

  • 直接访问 ip
  • 任意 api
  • 消耗大量带宽(耗尽)

洪水攻击!

image.png

image.png 中间人攻击:

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

永远不要相信,用户提交的内容 不要将用户提交内容直接转换成 Dom

image.png 主流框架会默认防御 xss 攻击

image.png

不要做,用户自定义跳转链接

image.png

image.png

image.png csp 内容安全策略

image.png

image.png

image.png csrf 的防御 同源请求,get+head 不发送 referer if 伪造请求 ===异常来源 攻击成功需要同时满足以下几个条件:

  • POST 请求提交表单后端没做转义直接入库。
  • 后端从数据库中取出数据没做转义直接输出给前端。
  • 前端拿到后端数据没做转义直接渲染成 DOM。

持久型 XSS 有以下几个特点:

  • 持久性,植入在数据库中
  • 盗取用户敏感私密信息
  • 危害面广 CSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web攻击,它利用用户已登录的身份,在用户毫不知情的情况下,以用户的名义完成非法操作。

1.CSRF攻击的原理

下面先介绍一下CSRF攻击的原理:

完成 CSRF 攻击必须要有三个条件:

  • 用户已经登录了站点 A,并在本地记录了 cookie
  • 在用户没有登出站点 A 的情况下(也就是 cookie 生效的情况下),访问了恶意攻击者提供的引诱危险站点 B (B 站点要求访问站点A)。
  • 站点 A 没有做任何 CSRF 防御

我们来看一个例子: 当我们登入转账页面后,突然眼前一亮惊现"XXX隐私照片,不看后悔一辈子"的链接,耐不住内心躁动,立马点击了该危险的网站(页面代码如下图所示),但当这页面一加载,便会执行submitForm这个方法来提交转账请求,从而将10块转给黑客。