XSS和CSRF

  说到XSS这个问题,XSS又叫跨站请求攻击,大意是说比如我发表了一篇博客,然后我在自己博客里面插入了一段恶意的js脚本代码,这段代码用于获取当前用户的cookie,并发送到我的服务器,当你们在看到这篇文章的时候,你们的cookie就已经被我盗了。

  当然,善良的我是不会做这种事的,我只是小小地搞了一波事情,然后把它发给我同学。

  

  结果他打开之后,控制台啥也没打印,当我查看element的时候,才看到了问题所在:

  

  看到了吗?博客园把script用一个code标签包裹起来,然后就把这个脚本文件拆了,无法执行,当然防止这类问题的办法还有很多,比如用转义字符&lt,&gt代替<,>等。不过这也是情理之中的,要是博客园连这个基础的跨站请求攻击都处理不好,那就相当水了。

  而另外一个CSRF,叫做“跨站请求伪造”,这玩意大概就是说:比如我现在正在登陆京东,想买部iphone x,然后关于这部iPhone x,假设它的付费接口是jingdong.com/pay?goods=iphonex&id=100,且没有任何验证。然后这时候我收到一封邮件,邮件里有个<img src="jingdong.com/pay?goods=iphonex&id=100">,然后我现在点开这个邮件,img一加载,请求一发送,卧槽,9000多大洋瞬间从我银行卡划掉了。

  然而真的有那么可怕吗?当今时代,无论我们买任何东西,要访问到我上述提到的那个接口,都绕不开这几个验证流程:指纹、密码、短信验证码等。所以只有满足了这些条件后,这个付费请求才能发送出去,然后服务器才会给你处理。放在现在这个如此强调支付安全的时代来看,这玩意其实还是有点小儿科了。

posted @ 2018-03-15 12:35  陌上兮月  阅读(240)  评论(0编辑  收藏  举报