web开发安全| 青训营笔记

59 阅读2分钟

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

xss跨站脚本攻击

cross-site script 注入script

image.png

特点

  • 难以感知
  • 窃取用户信息cookie/token
  • 绘制ui,诱骗用户填写表单

攻击方式

  1. 存储到数据库中——攻击到所有访问页面的
  2. 反射式——参数放到url上(get方式),修改了server数据
  3. dom xss——param修改浏览器
  4. mutation xss攻击

CSRF跨站伪造请求

cross-site request forgery

  • 在用户不知情情况狂下
  • 利用用户权限(cookie)
  • 构造指定http请求,修改信息/窃取信息

注入

sql注入

dos攻击

redos

利用正则表达式贪婪匹配 要求以ab开头,只能包含ab 服务器不断分析url image.png

ddos

短时间大量请求

tcp三次握手,请求者不发送第三此cdk,请求无法被释放

传输层攻击

中间人攻击

由于

  • 明文传输
  • 没有对身份进行验证
  • 信息篡改不可知

防御

永远不要相信用户提交的任何内容

xss

主流框架防御xxs

  • 如果必须根据内容生成dom——转义字符

允许上传svg——svg中可以生成script标签

<svg>
<script>alert('sxx)</script>
</svg>

自定义跳转链接/自定义样式 都可能出现注入

同源策略same-origin Policy

域名、协议、端口号

csp内容安全策略 content-Security Policy

从域名限制脚本访问 image.png

image.png

跨站伪造请求csrf

  1. 限制请求来源 对origin和reffer进行校验,同源请求中get+header不会发送origin 所以校验refer较多 Referer:服务器该网页是从哪个页面链接过来的 image.png

  2. token防御 image.png 攻击者可能是自己的用户,将token与具体用户进行绑定 还要有过期时间

  3. iframe防御

攻击者将iframe(div)包裹住原页面,点击原页面时,iframe(div)获取点击,触发事件

防御

image.png deny/sameorigin-iframe不能加载/同源页面才能iframe加载

  1. csrf的反模式

避免将get/post方式混写,安全漏洞极大

  1. sameSite——避免用户信息被携带

向服务器发送请求时,只能携带同源的cookie,禁止携带第三方cookie——设置domain属性

sameSite和cors区别

samesite只负责cookie发送 tmp92AC.png

使用中间件防御跨站伪造攻击

ddos

image.png

传输层防御

image.png

加密流程

先使用非对称加密获取sessionkey,后根据sessionkey进行对称加密 image.png

完整性

文件+hash值

数字签名

image.png