这是我参与「第四届青训营 」笔记创作活动的第1天
关于web安全其实在很久之前就了解过,但是并没有深入去探索,正好这次青训营,我们一起来探索一下关于web安全.
How do we attack a website.
- xss(cross site script)
xss一般都是由于用户的恶意输入所导致
<script>alert('welcome to juejin.')</script>
xss dom: 对一个dom节点注入恶意脚本
提交恶意脚本
将恶意脚本插入数据库
Reflected(反射) xss
Dom Based(基础) xss
Reflected xss 和 Dom Base xss 是二个攻击方式相反的 xss 攻击,一个是从服务器端,一个是从客户端.
xss 还可以利用DOM的特性进行攻击.
- CSRF (Cross Site Request forgery)
伪造网站发出请求
有很多钓鱼网站就是利用这样的手段当你点击他们的链接之后,他们就可以2333.
CSRF 无论是一个链接还是,一个表单,甚至一张图片都是有可能的.
- SQL Inject
SQL 恶意注入,一般就是在客户端填写一些恶意的SQL参数,从而获取数据库信息,或对数据进行删除.
这有各种各样的方式进行CSRF攻击,这里就不不一一展示了
- Dos 这玩意就可恶了,对网站服务器进行大流量的请求,直到把你服务器搞崩2333.
这里给大家推就一个网站: 测试鸭
我做出了所有人都能攻击的网站!!!
攻击就说到这里了,接下来我们来聊一下防御.
绝对不要相信用户输入,你绝对不知道用户会输入什么东西2333.
现在前端也有一些关于xss的一些解决发案,可以对用户的输入进行过滤.
同源策略
关于安全我们还可以将http升级成为https.
补充
一些npm包也可能成为可怕的漏洞.
over place.