网站攻击的方式有哪几种

1、xss(跨站脚本攻击):富文本、评论

利用站点开放的文本编辑并发布的功能,输入并执行js脚本,窃取cookie等敏感信息。

预防方法:

方法一:cookie添加httpOnly属性,这是使用js是不能读取和操作cookie的。

方法二:在cookie中添加校验信息。

方法三:对用户输入进行编码(encode)、过滤(移除style、script、iframe相关节点)、校正()

js编码解码:
1、使用参数时,使用encodeURIComponent
2、进行url跳转时,使用encodeURI
3、js使用数据时,使用escape
 
2、csrf(跨站请求伪造):支付扣款

伪造用户的请求,冒充用户在站内进行操作。

方法一:使用referer来判定来源页面

方法二:关键操作只接受post请求,因为get请求的参数携带在url中,很容易模拟。

方法三:在http请求中加上token,并在服务器端验证这个token。

方法四:登录、支付的页面加上一些用户互动,比如验证码,确保当前请求是用户发起的。

两者的区别:

1、xss不需要登录;csrf需要用户先登录获取到cookie;

2、xss是在网站A注入js代码,然后执行js代码,达到篡改网站A的内容;

csrf利用网站A的漏洞,去请求网站A的api。

Cookie和Token都存需要放在Header里面,为什么只劫持前者?

1、http是无状态的,为了使域名下的所有网页能共享某些数据,因此出现了session、cookie以及token。

2、cookie是用于记录用户状态的一种方式,装有sessionId,由服务端设置,存储在客户端在每个请求中会自动携带。

3、token是无状态的,用户信息都被加密到token中,服务器收到token后解密就可以知道是哪个用户,token不会在请求中自动携带,而需要手动添加。

cookie:用户点击了链接,cookie未失效情况下,后端以为是用户的正常操作,于是进行扣款等操作。

token:用户点击链接,由于浏览器不会自动带上token,即使发了请求,但是后端token验证不通过。

原文地址:https://www.cnblogs.com/annie211/p/12687785.html

时间: 2024-10-16 19:46:47

网站攻击的方式有哪几种的相关文章

网站被攻击了怎么办?3种网站攻击的解决办法

随着互联网的发展,越来越多的人们开始认识到网络宣传的优越性.大大小小的网站层出不穷.然而随着网站数量的增加,出现的问题也大大增多.同行之间的竞争.也随之体现在了网络之间.一些不法分子也逐渐转移阵地到网络上来谋取利益.同行之间往往雇佣黑客打压对手攻击对方网站,甚至有些人故意攻击别人网站索要保护费.不给钱就攻击你,让你网站瘫痪.对于这类事情,网站主往往是求助无门干着急,不得已妥协. 各位站长在做站的工程中应该都会遇到类似的问题,虽然我们勤勤恳恳的做自己的站,但是突然有一天会发现我们的网站突然就被人黑

常见的网站攻击方式和防护方法(小白通俗篇)

作为站长兢兢业业的编辑推广,辛辛苦苦才收点广告费,网站流量大了便会时常面对黑客的攻击,我的网站遭遇了两次因攻击死亡或瘫痪的经历,第一次是织梦CMS被博彩整站篡改网站死亡,第二次是刚刚经历的流量攻击网站多次瘫痪流量波动,故总结下常见的网站攻击方式和防护方法,以供自己和大家参见,因安全这方面我也是小白,这里以小白看得懂的语言分类编写,如总结有误或不足,望大神们不吝赐教. 第一种:网页篡改 攻击描述:针对网站程序漏洞,植入木马(webshell.跨站脚本攻击),篡改网页,添加黑链或者嵌入非本站信息,甚

网站Session 处理方式

分布式session有以下几种方案: 1. 基于nfs(net filesystem)的session共享 将共享服务器目录mount各服务器的本地session目录,session读写受共享服务器io限制,不能满足高并发. 2. 基于关系数据库的session共享 这种方案普遍使用.使用关系数据库存储session数据,对于mysql数据库,建议使用heap引擎. 这种方案性能取决于数据库的性能,在高并发下容易造成表锁(虽然可以采用行锁的存储引擎,性能会下降),并且需要自己实现session过

如何防止网站被爬虫爬取的几种办法

如何防止网站被爬虫爬取的几种办法 小 中 大 chen 2013-10-08 23:26 Linux 547 次浏览 抢沙发 今天想对一个问题进行分析和讨论,就是关于爬虫对网站页面爬取的问题,有些网站通过爬虫去采集其它的网站页面信息作为己用,大量的爬取行为会对web服务器有比较性能有影响,主要的表现就是会变得很慢. 对于如何防止网站被爬取,我想从以下几种方法去分析: 1.基于程序本身去防止爬取:作为爬虫程序,爬取行为是对页面的源文件爬取,如爬取静态页面的html代码,可以用jquery去模仿写h

图片该如何优化来提高网站的性能,这里提供几种方法

译者:前端小智作者:Ayo Isaiah来源:https://www.freecodecamp.org/ 个人专栏 ES6 深入浅出已上线,深入ES6 ,通过案例学习掌握 ES6 中新特性一些使用技巧及原理,持续更新中,←点击可订阅. 点赞再看,养成习惯 本文 GitHub https://github.com/qq44924588... 上已经收录,更多往期高赞文章的分类,也整理了很多我的文档,和教程资料.欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西. 为了保证的可读性,

Android 数据存储方式分为哪几种?

10道题值得思考 第一道题 1.Android 数据存储方式分为哪几种? SharedPreferences存储数据 2. CotentProvider内容提供者 3. 文件存储 4. 数据库存储(Sqlite) 5.网络存储 2. NDK是什么? 1. 一系列工具类的集合 2. Arm指令集 3. NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk.这些工具对开发者的帮助是巨大的. NDK集成了交叉编译器,并提供了相应的mk文件隔离

UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现

UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现 测试数据 java代码 1 package com.hzf.spark.study; 2 3 import java.util.Map; 4 import java.util.Set; 5 6 import org.apache.spark.SparkConf; 7 import org.apache.spark.api.java.JavaPairRDD; 8 import org.apache.s

JavaScript 的对象继承方式,有几种写法?

JavaScript 的对象继承方式,有几种写法? 一.对象冒充 其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式).因为构造函数只是一个函数,所以可使 Parent 构造函数 成为 Children 的方法,然后调用它.Children 就会收到 Parent 的构造函数中定义的属性和方法.例如,用下面的方式定义 Parent 和 Children: 原理:就是把 Parent 构造函数放到 Children 构造函数里面执行一次.那为什么不直接执行,

网站常见的鉴权认证方式有哪几种?

一.什么是鉴权 鉴权(authentication)是指验证用户是否拥有访问系统的权利.传统的鉴权是通过密码来验证的.这种方式的前提是,每个获得密码的用户都已经被授权.在建立用户时,就为此用户分配一个密码,用户的密码可以由管理员指定,也可以由用户自行申请.这种方式的弱点十分明显:一旦密码被偷或用户遗失密码,情况就会十分麻烦,需要管理员对用户密码进行重新修改,而修改密码之前还要人工验证用户的合法身份. 为了克服这种鉴权方式的缺点,需要一个更加可靠的鉴权方式.目前的主流鉴权方式是利用认证授权来验证数