热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

XSS攻击CSRF攻击基础理解

一个网站,不管多么的帅气,多么的风骚,如果你不安全,那始终都是一个弟弟啊~今天又看了下XSS和CSRF攻击的文章࿰

一个网站,不管多么的帅气,多么的风骚,如果你不安全,那始终都是一个弟弟啊~

今天又看了下XSS和CSRF攻击的文章,我也想发点什么普及下大家的安全意识,毕竟作为一名拥有伟大梦想的程序员,基本的安全意识还是一定要有的,话不多说,跑起来~

   本文参考的文章地址:https://juejin.im/post/59dc2b7a6fb9a0451869ae3a

一、XSS攻击跨站脚本攻击(Cross Site Scripting),一般是在输入的时候,攻击者输入脚本,来进行攻击。

案例:

一个正常的输入表单控件
输入 :

 

这只是一个最善良的恶作剧而已,试想一下,攻击者输入一些盗取COOKIE的脚本或者一些别的恶意脚本,是不是很随意的就可以去拿一些东西,想干什么我就干什么

预防方法:

1. 在COOKIE中设置httpOnly属性后,js将无法读取到COOKIE信息,可以防止XSS攻击盗取COOKIE

// koa
ctx.COOKIEs.set(name, value, {httpOnly: true // 默认为 true})

 

2. 使用HtmlEncode,将一些标签转义

例如将<&#xff0c;>转换成<&#xff0c;>的写法来表示&#xff0c;那么输入的标签就会被解析成

 

3. JavascriptEncode&#xff0c;给一些字符加上反斜杠

例如将\转换成\\&#xff0c;将\n转换成\\n&#xff0c;将"转换成\" 

二、CSRF&#xff1a;跨站点请求伪造&#xff08;Cross-Site Request Forgeries&#xff09;&#xff0c;也就是冒充用户请求&#xff0c;用户并不知情&#xff0c;然后搞一些事情

话不多说&#xff0c;先放一张偷来的图

案例&#xff1a;

比如某网站的转账操作
受害者张三给李四转账100&#xff0c;
通过对银行的网站发起请求 bank.example/transfer?ac… &#xff0c;
通常情况下&#xff0c;该请求发出后&#xff0c;服务器端会检查 session 是否合法&#xff0c;并且张三已经登录成功&#xff0c;
黑客王五可以自己给银行发送一个请求 bank.example/transfer?ac… &#xff0c;但是这个请求来自王五&#xff0c;而不是张三&#xff0c;他并不能通过安全认证。他需要张三的 session 。
王五自己做了一个网站&#xff0c;放入如下代码 bank.example/transfer?ac… &#xff0c;
用各种方式诱使张三点击自己的网站。
张三登录了银行的网站没有退出&#xff0c;访问了黑客王五的网站&#xff0c;上述的 url 就会向银行发起请求。
如果session没有过期&#xff0c;这时悲剧就发生了&#xff0c;张三的账户里少了1000。

预防方法&#xff1a;

1. 验证码的方式&#xff0c;也就是让用户和网站进行交互才能完成一些动作(请求)
缺点&#xff1a;用户体验差
2. 相对get请求来说&#xff0c;尽量使用post请求(post请求也只是相对安全一点)
3. token验证

第一步&#xff1a;后端随机产生一个 token&#xff0c;把这个token 保存到 session 状态中&#xff1b;同时后端把这个token 交给前端页面&#xff1b;
第二步&#xff1a;前端页面提交请求时&#xff0c;把 token 加入到请求数据或者头信息中&#xff0c;一起传给后端&#xff1b;
后端验证前端传来的 token 与 session 是否一致&#xff0c;一致则合法&#xff0c;否则是非法请求。

 写在最后

XSS 是内容没有做过滤处理&#xff0c;导致浏览器将攻击者的输入当代码直接运行了。
CSRF 则是因为浏览器在发送 HTTP 请求的时候会自动携带 COOKIE&#xff0c;而一般网站的 session 都存在 COOKIE里面

 写在最最后

若不是你突然闯进我生活&#xff0c;我怎会把死守的寂寞放任了~

因为最近有在抖音听绿色这首歌&#xff0c;所以这次就用绿色包围着你们好了。。。。。。。。。

 


转:https://www.cnblogs.com/bai1218/p/10692776.html



推荐阅读
  • 深入浅出解析HTTP协议的核心功能与应用
    前言——协议是指预先设定的通信规则,确保双方能够按照既定标准进行有效沟通,从而实现准确的信息交换。例如,驯兽师通过拍手使动物坐下,这实际上是一种预设的协议。本文将详细探讨HTTP协议的核心功能及其广泛应用,解析其在现代网络通信中的重要作用。 ... [详细]
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • PHP自学必备:从零开始的准备工作与工具选择 ... [详细]
  • Django框架进阶教程:掌握Ajax请求的基础知识与应用技巧
    本教程深入探讨了Django框架中Ajax请求的核心概念与实用技巧,帮助开发者掌握异步数据交互的方法,提升Web应用的响应速度和用户体验。通过实例解析,详细介绍了如何在Django项目中高效实现Ajax请求,涵盖从基础配置到复杂场景的应用。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • OSChina 周末闲谈 —— 程序员的浪漫情话
    在OSChina的周末闲谈栏目中,探讨了程序员特有的浪漫情话。本文不仅分享了一些程序员如何用代码表达爱意的有趣例子,还推荐了一首适合程序员聆听的歌曲——李克勤的《啜泣》。对于喜欢在编程之余享受音乐的朋友们,不妨点击链接试听一下。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • Python 实战:异步爬虫(协程技术)与分布式爬虫(多进程应用)深入解析
    本文将深入探讨 Python 异步爬虫和分布式爬虫的技术细节,重点介绍协程技术和多进程应用在爬虫开发中的实际应用。通过对比多进程和协程的工作原理,帮助读者理解两者在性能和资源利用上的差异,从而在实际项目中做出更合适的选择。文章还将结合具体案例,展示如何高效地实现异步和分布式爬虫,以提升数据抓取的效率和稳定性。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • HTTP协议作为互联网通信的基础,其重要性不言而喻。相比JDK自带的URLConnection,HttpClient不仅提升了易用性和灵活性,还在性能、稳定性和安全性方面进行了显著优化。本文将深入解析HttpClient的使用方法与技巧,帮助开发者更好地掌握这一强大的工具。 ... [详细]
author-avatar
残念易_138
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有