我们来看看最常见的四种攻击手段:
XSS(Cross-site scripting) 跨站脚本
攻击者会想尽办法在你的网页注入js代码,一般注入的代码会获取cookie等安全信息,发送到攻击者的服务器。
最常见的场景就是,有人在群里分享了一个很长的链接,用户打开链接后不久,就可能发现自己的账号被盗了。
就比如 https://abc.com?id=<script>alert('kidding you!')</script>
页面恰好有段代码:
<h2 id='showId'></h2>
var id = getId() //获取url的id值
showId.innerHTML = id
复制代码
访问后会看到弹出kdding you!
提示框。
xss简直就是进攻万花筒,读到这可以回想下自己写的页面是否有被这样利用的可能,有的话要怎么破招呢?
CSRF(Cross Site Request Forgery) 跨站请求伪造
在你浏览一个陌生网站的时候,就有可能正在被CSRF攻击,攻击者在自己的页面上发送被攻击网站的接口请求,请求会带上被攻击网站的cookie,写个例子感受一下:
-- https://bad.com/create.html
<form id='form' method='POST' action='https://good.com/new'>
<input name='a' />
<input type='submit' value='create' />
</form>
<script>
form.submit()
</script>
复制代码
只要一打开https://bad.com/create.html
页面,good.com
的cookie就会被坏人接受到,回忆下自己写过的页面危不危险吧!
《讓我們來談談 CSRF》是一篇讲得好得CSRF攻击防御文章,短文不展开了。
SSRF(Server Site Request Forgery)服务器请求伪造
SSRF是个有内涵的攻击,既不针对页面也不针对网站服务器,而是针对给网站服务器提供帮助的服务器。
很好的一个例子:
一不小心就拿到了服务器的某些配置信息,据说以前好多大公司被SSRF攻击过。送上一篇SSRF好文章 《Web安全漏洞之SSRF》。
对于前端工程师来说,在开发的时候,脑子里能时刻想到安全意识,我觉得