web前端安全——常见的web攻击方法

面试题:你所了解的web攻击?

1、xss攻击

2、CSRF攻击

3、网络劫持攻击

4、控制台注入代码

5、钓鱼

6、DDoS攻击

7、SQL注入攻击

8、点击劫持

一、xss攻击

  • XSS攻击:跨站脚本攻击(Cross-Site Scripting),攻击目标是为了盗取存储在客户端的cookie或者其他网站用于识别客户端身份的敏感信息。一旦获取到合法用户的信息后,攻击者甚至可以假冒合法用户与网站进行交互。
  • 防御方法:过滤特殊字符,HttpOnly 浏览器禁止页面的JS访问带有HttpOnly属性的Cookie

二、CSRF攻击

  • CSRF(Cross-site request forgery)跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。

三、网络劫持攻击

  • 主要是通过一些代理服务器,或者wifi等有中间件的网络请求,进行劫持,不法分子通过这种方式获取到用户的信息
  • 最好是采用https进行加密,这种通过请求网络地址攻击的我们可以通过对http进行加密,来防范,这样不法分子即使或得到,也无法解密

四、控制台注入代码

  • 不法分子通过各种提示诱骗用户在控制台做一些操作,从而获取用户信息。
  • 我们最好在控制台对用户进行友好的提示,必要轻易相信这种提示灯。

五、钓鱼攻击

钓鱼攻击是获得用户敏感信息的一种方法。钓鱼攻击的目标通常是在线银行用户、PayPal、eBay等。

主要形式
1、电子邮件钓鱼
  • 群发邮件,欺骗用户点击恶意的链接或附件,获取有价值的信息。
2、网站钓鱼
  • 在网站上伪造一个网站,通常是模仿合法的某个网站。为了欺骗用户点击这个网站还会采取些辅助技术,比如钓鱼邮件、短信、电话。
3、鱼叉式钓鱼
  • 使用欺骗性的网站,针对于一小群目标受众。
4、鲸钓
  • 目标为高端人群或者高级管理人员的鱼叉式钓鱼。
了解反钓鱼机制

1.SPF记录
SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。
2.SafeBrowsing API
谷歌的一个随时可以通过互联网访问的API,允许允许浏览器在渲染之前检测URL的正确性。

六、DDOS攻击

  • DDOS:分布式拒绝服务攻击(Distributed Denial of Service),简单说就是发送大量请求是使服务器瘫痪。DDos攻击是在DOS攻击基础上的,可以通俗理解,dos是单挑,而ddos是群殴,因为现代技术的发展,dos攻击的杀伤力降低,所以出现了DDOS,攻击者借助公共网络,将大数量的计算机设备联合起来,向一个或多个目标进行攻击。
  • 最直接的方法增加带宽。但是攻击者用各地的电脑进行攻击,他的带宽不会耗费很多钱,但对于服务器来说,带宽非常昂贵。
  • 云服务提供商有自己的一套完整DDoS解决方案,并且能提供丰富的带宽资源。------如果是阿里云推荐使用高防。

七、SQL注入攻击

  • 通过对web连接的数据库发送恶意的SQL语句而产生的攻击,从而产生安全隐患和对网站的威胁,可以造成逃过验证或者私密信息泄露等危害。SQL注入的原理是通过在对SQL语句调用方式上的疏漏,恶意注入SQL语句。
  • 预防:md5加密

八、点击劫持

  • 点击劫持是指在一个Web页面中隐藏了一个透明的iframe,用外层假页面诱导用户点击,实际上是在隐藏的frame上触发了点击事件进行一些用户不知情的操作。

原文地址:https://www.cnblogs.com/zhaoxinran997/p/12146579.html

时间: 2024-10-07 19:21:09

web前端安全——常见的web攻击方法的相关文章

好程序员web前端学习路线分享web测试之Js中的函数

好程序员web前端学习路线分享web测试之Js中的函数,在JS中,一般使用函数其实就是为了封装某些操作,或者把编写的程序进行模块化的操作. 一.函数的声明方式 1.普通的函数声明 function box(num1, num2) { return num1+ num2; } 2.使用变量初始化函数 var box= function(num1, num2) { return num1 + num2; }; 3.使用Function构造函数 var box= new Function('num1'

(转)常见的HTTPS攻击方法

0x00 背景 研究常见的https攻击方法 Beast crime breach,并针对https的特性提出一些安全部署https的建议. 针对于HTTPS的攻击,多存在于中间人攻击的环境中,主要是针对于HTTPS所使用的压缩算法和CBC加密模式,进行side-channel-attack.这几类攻击的前置条件都比较苛刻,且都需要受害主机提交很多次请求来收集破译关键数据的足够信息. 常见的攻击方法,主要有,BEAST Lucky-13 RC4 Biases CRIME TIME BREACH等

前端面试---常见的web安全及防护原理

一.常见的web安全及防护原理 1.sql注入原理 就是通过把sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 防护,总的来说有以下几点: 1.永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号双"--"进行转换等. 2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取. 3.永远不要使用管理员权限进行数据库连接,为每个应用使用单独的权限有限的数据库连接.

常见的数据库攻击方法

下面是六大数据库攻击: 1.强力(或非强力)破解弱口令或默认的用户名及口令 2.特权提升 3.利用未用的和不需要的数据库服务和和功能中的漏洞 4.针对未打补丁的数据库漏洞 5.SQL注入 6.窃取备份(未加密)的磁带 下面分别分析一下: 1.对弱口令或默认用户名/口令的破解 以前的Oracle数据库有一个默认的用户名:Scott及默认的口令:tiger;而微软的SQL Server的系统管理员账户的默认口令是也是众所周知. 当然这些默认的登录对于黑客来说尤其方便,借此他们可以轻松地进入数据库.

2018年web前端学习路线图,WEB前端开发新手学习路线

前端的的技术一直在变化,更新和变革,现在基本是三驾马车(vue,angualr,react)主导整个前端框架,但是无论对于新人或者有经验的程序员,这些知识在必须掌握,下面给大家一份详细的表单: html的语法.格局,常用的标签极端作用,了解标签的嵌套.学习运用firefox+firebug或许chrom的调试工具,可以运用这些工具调试html.css.js.断点调试.抓包 怎么引入css.js.了解id.class属性的区别,学会css的常用选择器,了解盒子模型(padding,margin,b

好程序员web前端分享常见html5语义化标签

我们知道,创建结构清晰的页面可以建立良好的语义化基础,也降低了使用css的难度,下面总结了一些常用的语义化标签,有空慢慢更新,欢迎大家补充 语义化HTML:用最恰当的HTML元素标记的内容. 优点:1 提升可访问性:  2 S-EO:   3 结构清晰,利于维护: (HTML5旧的行内元素都被归类为短语内容) 通用容器:div——块级通用容器:span——短语内容无语义容器. 如果语义不合适,也不要霸王硬上弓,=.. =老实的用div吧. < title></title>:简短.描

web前端安全之分布式拒绝服务攻击

一.DDOS攻击的原理分布式拒绝服务,Distributed Denial of Service,利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务.通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的.具体有几种形式: 通过使网络过载来干扰甚至阻断正常的网络通讯: 通过向服务器提交大量请求,使服务器超负荷: 阻断某一用户访问服务器: 阻断某服务与特定系统或个人的通讯. SYN攻击,synchronous,属于DDOS攻击中的一种具体表现形式.SYN是TCP

web前端安全之SQL注入攻击

一.SQL注入攻击的原理攻击者在HTTP请求中注入恶意的SQL代码,并在服务端执行.比如用户登录,输入用户名camille,密码 ' or '1'='1 ,如果此时使用参数构造的方式,就会出现 select * from user where name = 'camille' and password = '' or '1'='1' 不管用户名和密码是什么,查询出来的用户列表都不为空,这样可以随意看其他用户的信息. 二.SQL注入攻击的防御1.客户端 限制字符串输入的长度: 有效性检验. //过

web前端教程之javascript创建对象的方法

今天给大家讲讲javascript基础教程中的javascript面向对象的技术,这一次我们深入的学习一下JavaScrip基于t面向对象之创建对象,关于面向对象的一些术语这里就不给大家介绍了,不了解的朋友可以自行去查看. 使用预定义对象只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自己专用的对象. ECMAScript 拥有很多创建对象的方法. 一原始方式 因为对象的属性可以在对象创建后动态定义,所有许多开发者都在JavaScript 最初引入时编写类似下面的代码: [javasc