Web的安全防护开发 | 青训营笔记

116 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第8天。关于web的安全防护开发。

两个角度看web安全

1.假如你是一个hacker————攻击者
2.假如你是一个开发者————防御

一.攻击篇

  • SQL injection注入

Web应用未对用户提交的数据做过滤或者转义,导致后端数据库服务器执行了黑客提交的sql语句。黑客利用sql注入攻击可进行拖库、植入webshell,进而入侵服务器

  • XSS跨站攻击

Web应用未对用户提交的数据做过滤或者转义,导致黑客提交的javascript代码被浏览器执行。黑客利用xss跨站攻击,可以构造恶意蠕虫、劫持网站cookie、获取键盘记录、植入恶意挖矿js代码

  • CRSF攻击

CSRF (Cross-site request forgery),中文是跨站伪造请求。

Web应用对某些请求未对来源做验证,导致登录用户的浏览器执行黑客伪造的HTTP请求,并且应用程序认为是受害者发起的合法请求的请求。黑客利用CSRF攻击可以执行一些越权操作如添加后台管理员、删除文章等。

image.png

image.png

  • SSRF

SSRF(Server-Side Request Forgery:服务器端请求伪造)

  • 请求用户自定义的回调接口 callback
  • web server 有内网权限

image.png

  • DoS攻击

DoS为Denial of Service的简称有以下常见攻击方式:

  • ReDos: 基于正则表达式的Dos攻击
  • L-DoS (Logical DoS) 通常以循环执行逻辑、执行SQL登录、数据库写入、文件备份等大量耗时的同步操作。
  • DDoS (Distributed DoS):短时间内,来自大量僵尸设备的请求流量,服务器不能及时完成全部请求,导致请求堆积,进而雪崩效应,无法响应请求。

二.防御篇

  • XSS防御

永远不信任用户的提交内容,不要将用户内容直接转为DOM,应该用string字符串存储。

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

Contenr Security Policy(CSP)

  • 哪些源(域名)被认为是安全的。
  • 来自安全源的脚步可以执行,否则直接报错。

CSRF 的防御

image.png

  • CSRF--token
  •     先有页面后有请求
    

image.png

  • 防范DOS攻击

  • Regex DoS

    • 代码扫描 + 正则性能测试
    • 减少提供给用户的使用正则
  • L-Dos

    • 限流:限制流量的异常流动。
    • 分析代码的性能瓶颈:同步调用 、串行逻辑。
  • 传输层--防御中间人

image.png

心得体会

经过这节课我了解了一些常见的web攻击方式,以及一些简单的防御措施,认识到做好一个网页安全是非常重要的,