Web安全小攻略 | Web高能短文系列

167 阅读2分钟

这篇文章可以满足两种需求:一是好奇黑客是如何获取到网站用户信息的;二是近期要面试的同学,老师说大公司尤其喜欢用安全问题卡人。

我们来看看最常见的四种攻击手段:

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》

对于前端工程师来说,在开发的时候,脑子里能时刻想到安全意识,我觉得