Web开发安全|青训营

111 阅读1分钟

这是我来参加[第五届青训营]笔记创作活动的第十一天。

今天跟着刘宇晨老师学习Web开发安全。

Web安全一览: image.png

老师从两个角度介绍了Web安全-攻击或者防御

一、攻击篇

Cross-Site Scripting(XSS)

XSS原理: image.png

XSS的一些特点:

1、通过难以以UI上感知(暗地执行脚本)

2、窃取用户信息(cookie/token)

3、绘制UI(例如弹窗),诱骗用户点击/填写表单

Stored XSS

1、恶意脚背被存在数据库中

2、访问页面 -> 读数据 === 被攻击

3、危害最大,对全部用户可见 image.png

Reflected XSS

1、不涉及数据库方面

2、从URL上去攻击 image.png

DOM-based XSS

1、不需要服务器的参与

2、恶意攻击的发起+执行,全在浏览器完成 image.png

Reflected和DOM-based区别:注入方式不同 image.png

Mutation-based XSS

1、利用了浏览器渲染DOM的特性(独特优化)

2、不同浏览器,会有区别(按浏览器进行攻击)

Cross-site reques forgery(CSRF)

1、在用户不知情的前提下

2、利用用户权限(cookie)

3、构造指定HTTP请求,窃取或修改用户敏感信息

CSRF demo image.png

Injection

1、SQL injection

2、请求SQL参数

3、获取其他数据、修改数据、删除数据

防御篇

XSS

1、永远不信任用户的提交内容

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

XSS现成工具

前端:Vue、React框架;Google-closure-library。服务端:DOMPurify

CSP:哪些源被认为是安全的;来自安全源的脚本可以执行,否则报错。

总结:通过本节课,了解到web安全的攻防端,也明白做好防御的重要性。