导语:
现在网站经常会遭受到一些攻击,使得用户信息泄露或者用户个人财产受到损伤,本文用最简单的语言,讲述以下xss和csrf攻击,以及他们的防御手段。
本文的目录
- 一,xss攻击
- 二,csrf攻击
一,xss攻击
这是一种最早期之一的网站攻击方式,同时它现在还被用在一些安全方面做的不好的小网站中作为攻击方式。
什么是xss攻击呢?
我来举个简单的例子,用户发表评论到评论区,内容是:
function postcookies() {
let cookies = 当前网页的用户cookie
//做成表单,自动提交到黑客的服务器等等代码
}
这样的评论写上去,然后发布评论,如果这个评论功能没有做一些防御xss攻击的能力,那么这个JavaScript的代码就会被当成一段普通的评论内容提交上去。
接着其他用户在看到这个评论的时候,用户的cookie信息就会被自动提交到黑客的服务器中,从而导致你的账户密码被窃取,信息泄露等问题。
那么如何预防这个xss攻击呢?
其实很简单,只要把JavaScript的(< script>< /script>)这个脚本标签进行处理就行了,通常是做一层转义,把<和>转变成’<‘和’>‘。甚至把单双引号,斜杆这些脚本经常使用到的符号进行转义,从而导致xss攻击失效。
具体可以在前端提交前做一层过滤,后台再过滤一次,这样xss基本就失效了。
二,csrf攻击
这也是一种常见的网站攻击手段,它主要利用的是我们网站对于用户的信任。
**什么意思呢?**简单讲就是你刚刚登陆了腾讯充值中心,登陆充钱完了,你就关掉网站了,换了另外一个网站www.xiaomizhou.com
。
然后这个网站里面有个图片或者是超链接,这个url是www.qq.com/chongzhizhongxin/pay?accout=xiaomizhou&number=10000;
(我们假设这是qq充值中心对于充值的api接口,现实中肯定不是这样也没有这么简单)。只要你点击了这个按钮,你就会向小米粥账户充值10000个q币了。
为什么能够这样呢?
因为你刚刚登陆过qq充值系统不久,登陆状态还没有消失,信息都还在,所以能够直接调用接口进行支付。在这个过程中,黑客没办法知道你的用户信息,支付密码,甚至你的账户。但是凭借着qq充值网站对于用户的信任,以为这是你本人的操作,所以执行了。
那么怎么防御呢?
只要我们开发人员,在一些重要的接口上设置一个验证过程,而这个验证是需要在qq充值中心网页的一个随机码(可以是时间戳加密),然后通过一系列的加密才能够获得。
而csrf攻击是在www.xiaomizhou.com
上发布出来的,没有进入到qq充值中心,所以无法获得这个随机数,从而调用接口的时候这个部分的信息为空或者错误,然后调用失败。
建议收藏,不然刷着刷着就可能找不到了。
微信搜索【web小馆】,回复’全栈博客项目‘,即可免费获取项目源码和后续的实战教程,用简单有趣的语言,提升你的计算机基础知识和前端技术。
同时你的点赞是对我最大的鼓励,谢谢。