D5.Web开发的安全之旅 防御篇 | 青训营笔记

89 阅读1分钟

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

Web安全之攻击

XSS的防御

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

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

屏幕截图 2022-08-03 141638.png

防御XSS的现成工具

前端
• 主流框架默认防御XSS
• google-closure-library
服务端(Node)
• DOMPurify

注意!!!

  • string -> DOM
    要对string转逆 屏幕截图 2022-08-03 142700.png
  • 用户上传svg文件
    要对svg文件进行扫描 屏幕截图 2022-08-03 142857.png
  • 尽量不要做自定义跳转链接
    必须做过滤 屏幕截图 2022-08-03 142913.png
  • 自定义样式 屏幕截图 2022-08-03 142932.png

CSRF的防御

目前防御 CSRF 攻击主要有三种策略:
1、验证 HTTP Referer 字段;
2、在请求地址中添加 token 并验证;
3、在 HTTP 头中自定义属性并验证。

屏幕截图 2022-08-03 155455.png

SQL Injection的防御

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

DoS的防御

Regex DoS

屏幕截图 2022-08-03 160143.png

Logical DoS

屏幕截图 2022-08-03 160158.png

DDoS

屏幕截图 2022-08-03 160210.png

传输层————防御中间人

屏幕截图 2022-08-03 161148.png

HTTPS的特性

可靠性:加密

屏幕截图 2022-08-03 161336.png

完整性:MAC验证

屏幕截图 2022-08-03 161804.png

不可抵赖性:数字签名

屏幕截图 2022-08-03 161941.png

数字签名

屏幕截图 2022-08-03 161839.png

安全无小事
如有错误,欢迎指正🥰