前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常见网络攻击

常见网络攻击

作者头像
娜姐
发布2021-01-14 10:43:36
7410
发布2021-01-14 10:43:36
举报
文章被收录于专栏:娜姐聊前端娜姐聊前端

网络安全是前端工程师需要考虑的问题,常见的网络攻击有XSS,SQL注入和CSRF等。

1. XSS

XSS,Cross-site script,跨站脚本攻击。它可以分为两类:反射型和持久型。

  • 反射型XSS攻击场景:用户点击嵌入恶意脚本的链接,攻击者可以获取用户的cookie信息或密码等重要信息,进行恶性操作。 解决:开启cookie的HttpOnly属性,禁止JavaScript脚本读取cookie信息。
  • 持久型XSS攻击场景:攻击者提交含有恶意脚本的请求(通常使用<script>标签),此脚本被保存在数据库中。用户再次浏览页面,包含恶意脚本的页面会自动执行脚本,从而达到攻击效果。这种攻击常见于论坛,博客等应用中。 解决:前端提交请求时,转义<&lt,转义>&gt;或者后台存储数据时进行特殊字符转义。 建议后台处理,因为攻击者可以绕过前端页面,直接模拟请求,提交恶意
2. SQL注入

攻击者在HTTP请求中注入恶意SQL命令,例如,drop table users,服务器用请求参数构造数据库SQL命令时,恶意SQL被执行。

解决:后台处理,例如,使用预编译语句PreparedStatement进行预处理。

3. CSRF

CSRF,Cross-site request forgery,跨站请求伪造。这种方式是利用浏览器的cookie或服务器的session策略,盗取用户信息,模拟用户向第三方网站发送恶意请求。

下图阐述了CSRF攻击策略(图片来自网络):

CSRF.png

因为从WEB页面产生的所以请求,包括文件请求,都会带上cookie,这样,只要用户在网站A的会话还没有过期,访问恶意网站B时就可能被动发出请求到网站A,同时携带cookie信息,从而达到伪造用户进行恶性操作。

解决方案:

  1. 提交请求中携带Token,并且每次请求的Token值都是合法的随机数。 注意:使用时注意token的私密性,不要以url参数的形式发送(不要使用GET)。尽量采用POST操作,以form表单或者AJAX的形式提交。
  2. referer check:根据http request信息里面的referer参数(请求源),验证请求源是否合法。 注意:某些情况下,浏览器不会发送referer参数,比如,从https跳转到http,为了安全性不会发送referer。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. XSS
  • 2. SQL注入
  • 3. CSRF
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档