如何用漫画说明 XSS 和 CSRF 的区别?
互联网的正常工作过程:
张三被捕
但是如果有漏洞被XSS攻击:
XSS是跨站点脚本攻击(Cross Site Scripting),为了不与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,因此跨站点脚本攻击简称为XSS。恶意攻击者会将恶意脚本代码插入网页。用户浏览页面时,将执行在Web中的脚本代码嵌入,从而达到了恶意攻击用户的目的。
简单的说
1.普通用户A提交正常内容,该内容显示在另一个用户B的网页上,没有任何问题。
2.恶意用户H提交恶意内容并将其显示在另一个用户B的网页上,随意篡改B的网页。
导致XSS的几点要点:
1.恶意用户可以提交内容
2.提交的内容可以显示在其他用户的页面上
3.这些内容尚未过滤,直接在其他用户页面上运行
csrf是让用户在不知情的情况,冒用其身份发起了一个请求:
如何用漫画说明 XSS 和 CSRF 的区别?
CSRF是跨站点的请求伪造(Cross-Site Request Forgery)。像XSS攻击一样,存在巨大的危害。
你可以这样理解:攻击者窃取了你的身份,并以你的名义发送了恶意请求。该请求对服务器完全合法,但是它已完成了攻击者期望的操作,例如用你的名义发送电子邮件,发送消息,窃取你的帐户,添加系统管理员,甚至购买商品,虚拟货币转帐等。
黑客:老朋友呀,这个网址里面有你的高中合影哎?
你:真的啊,我看看 。
黑客:哈哈,你的靶场被我种了一颗瓜了~
你:不会吧,你怎么做到的?
黑客:你是不是点击了网址?
你:shit,这也会中招啊 !
XSS本质上是Html注入,类似于SQL注入。
SQL,HTML和人类语言都是指令他们和数据混合在一起,存在注入的风险(程序会基于分隔符和标签识别指令和数据,不同于我们普通人类是根据说话的语境、语义和我们而定日常生活经验判断吸收)。
例如,当注册用户时,用户输入“王二麻子”并提交,服务端会生成“
欢迎新用户,王二麻子
”传给浏览器。如果用户输入"
同理,小偷也是利用了这个漏洞,输入一个有特殊含义的词语作为名字,被其他客户端识别为指令,从而完美的完成了一个存储型XSS注入攻击。
如何用漫画说明 XSS 和 CSRF 的区别?相关推荐
- php csrf攻击 xss区别,用大白话谈谈XSS与CSRF
这两个关键词也是老生常谈了,但是还总是容易让人忘记与搞混~. XSS与CSRF这两个关键词时常被拉出来一起比较(尤其是面试),我在这里也在写一篇扫盲文,也帮自己整理一下知识脉络. 这篇文章会用尽量&q ...
- 浅说 XSS 和 CSRF
在 Web 安全领域中,XSS 和 CSRF 是最常见的攻击方式. XSS XSS,即 Cross Site Script,中译是跨站脚本攻击:其原本缩写是 CSS,但为了和层叠样式表(Cascadi ...
- 第三百九十二节,Django+Xadmin打造上线标准的在线教育平台—sql注入攻击,xss攻击,csrf攻击...
第三百九十二节,Django+Xadmin打造上线标准的在线教育平台-sql注入攻击,xss攻击,csrf攻击 sql注入攻击 也就是黑客通过表单提交的地方,在表单里输入了sql语句,就是通过SQL语 ...
- 总结 XSS 与 CSRF 两种跨站攻击
在那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式.在这个年代, 参数化查询 [1] 已经成了普遍用法,我们已经离 SQL 注入很远了.但是 ...
- XSS和CSRF详解与防御
开年遇到的第一个问题就是解决XSS攻击>_<,可见要时刻保证网站的安全性至关重要.做好网站安全,不仅维护网站的稳定性,更保证用户数据的一致性.对此,总结一下笔者在工作中遇到的安全问题以及防 ...
- 浅说 XSS和CSRF
https://github.com/dwqs/blog/issues/68 在 Web 安全领域中,XSS 和 CSRF 是最常见的攻击方式.本文将会简单介绍 XSS 和 CSRF 的攻防问题. 声 ...
- 浅谈Web前端安全策略xss和csrf,及又该如何预防?
Web前端安全策略xss和csrf的攻击和防御 一.XSS跨站请求攻击 1.什么是XSS 2.场景模拟 3.XSS的攻击类型 4.如何防御XSS 二.XSRF跨站请求伪造 1.什么是csrf 2.场景 ...
- XSS与CSRF两种跨站攻击比较
XSS:跨站脚本(Cross-site scripting) CSRF:跨站请求伪造(Cross-site request forgery) 在那个年代,大家一般用拼接字符串的方式来构造动态SQL 语 ...
- 趣解 XSS和CSRF的原理
参考文章:趣解 XSS和CSRF的原理 推荐网站:古黑论 感谢作者分享!
最新文章
- sql 使用存储过程传递列名或表名作为参数
- Django + Uwsgi + Nginx 的生产环境部署项目知识点
- .md是什么文件_Element-UI源码阅读之md显示到页面
- java生日验证_Java验证身份证号码是否有效
- UI设计中的图标分为哪些类型?
- Microsoft Office 2007 Beta 2 下载(含所有的CD-KEY)
- 软件盗版受害者解决方法
- 中序遍历二叉树-Java实现
- 安卓内存使用情况监控,剖析Android开发未来的出路在哪里,薪资翻倍
- TCP为什么连接建立需要三次握手,而不是两次握手?
- LKJ数据文件交接表编制软件
- 台式计算机如何安装6个系统?,联想台式机重装系统图文教程
- 嵌入式linux并行通信,嵌入式Linux
- html添加flash视频,添加视频模块和Flash模块
- BestCoder Round #7-A,B,C
- android 5 1g内存,安卓手机1G内存绝对够用 实际体验来告诉你
- Ubuntu 16.04 下安装 Dropbox
- Ext.query()和Ext.get()的区别,Ext.query()类似于jquery的DOM选择器
- 十二种可吸筹的技术形态
- 正则中文标点符号打包出错