【JavaScript】前端攻击

前端攻击

1. CSRF的基本概念、缩写、全称

CSRFCross-site request forgery):跨站请求伪造

从上图可以看出,要完成一次CSRF攻击,受害者必须满足两个必要的条件:

  1. 登录受信任网站A,并在本地生成Cookie。(如果用户没有登录网站A,那么网站B在诱导的时候,请求网站Aapi接口时,会提示你登录)
  2. 在不登出A的情况下,访问危险网站B(其实是利用了网站A的漏洞)。

温馨提示一下,cookie保证了用户可以处于登录状态,但网站B其实拿不到 cookie

CSRF的防范措施

方法一、Token 验证:(用的最多)

  1. 服务器发送给客户端一个token
  2. 客户端提交的表单中带着这个token
  3. 如果这个 token 不合法,那么服务器拒绝这个请求。

方法二:隐藏令牌:

  • token 隐藏在 httphead头中。

方法二和方法一有点像,本质上没有太大区别,只是使用方式上有区别。

方法三、Referer 验证:

Referer 指的是页面请求来源。意思是,只接受本站的请求,服务器才做响应;如果不是,就拦截。

2. XSS的攻击原理

XSS攻击的核心原理是:不需要你做任何的登录认证,它会通过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是jshmtl代码块等)。

最后导致的结果可能是:

  • 盗用Cookie
  • 破坏页面的正常结构,插入广告等恶意内容
  • D-doss攻击

XSS的防范措施主要有三个:

1. 编码

对用户输入的数据进行HTML Entity编码。

2、过滤:

  • 移除用户输入的和事件相关的属性。如onerror可以自动触发攻击,还有onclick等。(总而言是,过滤掉一些不安全的内容)
  • 移除用户输入的Style节点、Script节点、Iframe节点。(尤其是Script节点,它可是支持跨域的呀,一定要移除)。

3. CSRF 和 XSS 的区别

  • CSRF:是利用网站A本身的漏洞,去请求网站Aapi
  • XSS:是向网站 A 注入 JS代码,然后执行 JS 里的代码,篡改网站A的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/665435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

09.领域驱动设计:深入学习6本经典推荐书籍

目录 前言 1、《领域驱动设计:软件核心复杂性应对之道》 1.作者简介 2.内容简介 3.推荐理由 4.豆瓣链接 ​编辑 2、《实现领域驱动设计》 1.作者简介 2.内容简介 3.推荐理由 4.豆瓣链接 ​编辑 3、《领域驱动设计精粹》 1.作者简介 2.内容简介 3.推…

深度学习和大数据技术的进步在自然语言处理领域的应用

文章目录 每日一句正能量前言一、深度学习在NLP中的应用二、大数据技术在NLP中的应用三、深度学习和大数据技术的影响四、应用场景后记 每日一句正能量 努力学习,勤奋工作,让青春更加光彩。 前言 随着深度学习和大数据技术的迅猛发展,自然语…

Qt加载网页崩溃 ASSERT:“m_adapterClient“ in file ...

1、软件启动后加载网页无异常,点击按钮,加载新网页时崩溃 崩溃代码: QWebEngineView *createWindow(QWebEnginePage::WebWindowType type) { Q_UNUSED(type); return this; } 2、原因 Qt只是调用谷歌的浏览器引擎&#xff…

iPad“粘贴自”字样不消失解决办法

iPad“粘贴自”字样不消失解决办法 好无语,写论文主要就靠iPad看资料,复制粘帖的时候卡死搞得我无敌焦躁,问了🍎支持的客服才解决,方法如下:1.音量上键按一下 2.音量下键按一下 3.一直按开关机键直到出现苹…

ChatGPT实战100例 - (14) 打造AI编程助手 Code Copilot

文章目录 ChatGPT实战100例 - (14) 打造AI编程助手 Code Copilot一、Code Copilot AI编程助手二、制作代码生成器2.1 定义生成器框架2.2 从现有代码提取代码模板三、进行代码优化ChatGPT实战100例 - (14) 打造AI编程助手 Code Copilot 一、Code Copilot AI编程助手 Code Copi…

ASP.NET的GridView控件中,实现同列内容合并

在ASP.NET的GridView控件中,实现同列内容合并的方法主要有两种:一种是使用RowDataBound事件,另一种是使用自定义定义函数 使用RowDataBound事件 这种方法是在GridView的每一行绑定数据时,比较当前行和前一行的同一列的值&#x…

031 递归

何为递归 示例 public static void main(String[] args) {System.out.println(fn(5)); }static int fn(int a){return a 1 ? 1 : a * fn(a - 1); }

01背包,但是bit -枚举 + 位运算

题面 分析 思考什么情况可以装,如果一个数或进去不超过 m m m 就可以加入,否则不能加入,那么如果某一个数和 m m m 或运算能够分为两部分,前一部分进行或运算为 m m m 的子集,后一部分可以是任何数,存…

浅析Redis③:命令处理之数据返回Client(下)

写在前面 Redis作为我们日常工作中最常使用的缓存数据库,其重要性不言而喻,作为普通开发者,我们在日常开发中使用Redis,主要聚焦于Redis的基层数据结构的命令使用,很少会有人对Redis的内部实现机制进行了解&#xff0c…

Android Input系统之 InputMonitor 更新流程

分析源码为 android 12 一、InputMonitor层面分析 在 WMS 添加,更新和删除Window 的时候都会调用 InputMonitor 的 updateInputWindowsLw 更新 window 信息。如下是删除window 时候的调用函数: WMS.java void removeWindowToken(IBinder binder, boo…

STM32 UART/USART的低功耗模式和节能优化策略

在STM32微控制器中,UART/USART模块的低功耗模式和节能优化策略可以帮助减少系统功耗,并延长电池寿命。下面我将介绍一些常用的低功耗功能和相应的节能优化策略,并提供一个示例代码来演示如何实现它们。 ✅作者简介:热爱科研的嵌入…

华为鸿蒙系统第三方桌面手机管家版本号12.0.1.330

起因 放假在家,准备把自己的旧手机给家里老人看小视频,但是老人不懂智能手机的复杂操作,就想换成《极简桌面》这个软件,在“设置->默认应用->桌面”,但是华为为了“保护用户的隐私以及合法权益”禁用了第三方启…

202417读书笔记|《画•大师 阿尔丰斯•穆夏》——在明亮大胆的色调中熠熠生辉

202417读书笔记|《画•大师 阿尔丰斯•穆夏》——在明亮大胆的色调中熠熠生辉 这是读完的第二本或者第三本穆夏的画集。很赞,他的绘画风格,构图,元素,取大自然的月桂树,常青藤,🌙的不同形态&…

链表与二叉树-数据结构

链表与二叉树-数据结构 创建叶子node节点建立二叉树三元组:只考虑稀疏矩阵中非0的元素,并且存储到一个类(三元组)的数组中。 创建叶子node节点 class Node{int no;Node next;public Node(int no){this.nono;} } public class Lb…

Rsnapshot备份服务器

1、资源服务器设置免登录 资源服务器生成公钥和私钥 ssh-keygen 资源服务器将公钥复制到备份服务器 ssh-copy-id root192.168.1.129 备份服务器测试免密登录 ssh root192.168.1.128 2、顶顶顶顶 3、第三方士大夫 4、似懂非懂 5、是的范德萨发 6、第三方士大夫

Java实现对接微信支付功能接口详解(三)

本系列文章简介: 微信支付是一种在线支付解决方案,允许用户通过微信内的支付功能进行付款。它提供了多种支付方式,包括扫码支付、公众号支付、小程序支付等。在Java应用程序中实现微信支付功能,可以为用户提供方便快捷的支付体验。…

Fink CDC数据同步(三)Flink集成Hive

1 目的 持久化元数据 Flink利用Hive的MetaStore作为持久化的Catalog,我们可通过HiveCatalog将不同会话中的 Flink元数据存储到Hive Metastore 中。 利用 Flink 来读写 Hive 的表 Flink打通了与Hive的集成,如同使用SparkSQL或者Impala操作Hive中的数据…

Android-service

1. 预知识(安卓版本) public static final int BASE 1; //Android 1.0public static final int BASE_1_1 2; //Android 1.1public static final int CUPCAKE 3; //Android 1.5public static final…

Java 正则表达式总结

Java 正则表达式总结 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编。今天,我们将深入探讨Java正则表达式,这是一种强大的文本匹配和处理工具,用于处理字符串的模式匹配。 1. 正则表达式简介 正则表达式是…

ABC339 A-G

Japan Registry Services (JPRS) Programming Contest 2024 (AtCoder Beginner Contest 339) - AtCoder 离AK ABC最近的一集,写完F还剩十分钟聊天去了,赛后一看题一眼主席树贴板子改一改十分钟过了...前几题感觉真的阅读理解... A - TLD 题意&#xf…