这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天
前言
在本次课,主要讲了5种
- XSS(Cross-Site Scripting)脚本攻击漏洞;
- CSRF(Cross-sit request forgery)漏洞;
- sql注入
- Dos和DDOs
- 中间人攻击
1、XSS攻击
跨站脚本攻击指得是:恶意攻击者往Web页面里注入恶意Script代码,用户浏览这些网页时,就会执行其中的恶意代码,可对用户进行盗取cookie信息、会话劫持等各种攻击。
主要利用了盲目信任用户提交的内容
特点
- 通常难以从UI上感知(暗地执行脚本)
- 窃取用户信息(cookie/token)
- 绘制UI(例如弹窗),诱骗用户点击/填写表单
这种不涉及数据库,单从url上进行攻击
防御:
前端框架基本预防了,服务端的也有npm包,用户强制动态生成DOM、可以上传SVG图片需注意。对输入的数据进行严格校验。限制字符串长度。
2、CSRF 跨站伪造请求
特点
- 在用户不知情的前提下
- 利用用户权限(cookie)
- 构造指定HTTP请求,窃取或修改用户敏感信息
demo
防御: csp策略
原理其实就是白名单机制,开发者明确告诉浏览器哪些资源可以加载并执行,我们只需要提供配置,其他的工作由浏览器来完成。通过 < meta > 标签开启
3、sql注入
将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令
demo
防御:
4、Dos和DDos
特点
- 耗时的同步操作
- 数据库写入
- sQL join
- 文件备份
- 循环执行逻辑
防御:
5、中间人攻击
防御: https、数字签名、证书