您当前的位置:首页 > 知乎文章

如何用漫画说明 XSS 和 CSRF 的区别?

时间:2022-02-28 10:48:30  知乎原文链接  作者:网盾科技

互联网的正常工作过程:

张三被捕

但是如果有漏洞被XSS攻击:

XSS是跨站点脚本攻击(Cross Site Scripting),为了不与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,因此跨站点脚本攻击简称为XSS。恶意攻击者会将恶意脚本代码插入网页。用户浏览页面时,将执行在Web中的脚本代码嵌入,从而达到了恶意攻击用户的目的。

简单的说

1.普通用户A提交正常内容,该内容显示在另一个用户B的网页上,没有任何问题。

2.恶意用户H提交恶意内容并将其显示在另一个用户B的网页上,随意篡改B的网页。

导致XSS的几点要点:

1.恶意用户可以提交内容

2.提交的内容可以显示在其他用户的页面上

3.这些内容尚未过滤,直接在其他用户页面上运行


CSRF攻击是让用户在不知情的情况,冒用其身份发起了一个请求:

CSRF是跨站点的请求伪造(Cross-Site Request Forgery)。像XSS攻击一样,存在巨大的危害。
你可以这样理解:攻击者窃取了你的身份,并以你的名义发送了恶意请求。该请求对服务器完全合法,但是它已完成了攻击者期望的操作,例如用你的名义发送电子邮件,发送消息,窃取你的帐户,添加系统管理员,甚至购买商品,虚拟货币转帐等。

黑客:老朋友呀,这个网址里面有你的高中合影哎?

你:真的啊,我看看 。

黑客:哈哈,你的靶场被我种了一颗瓜了~

你:不会吧,你怎么做到的?

黑客:你是不是点击了网址?

你:shit,这也会中招啊 !

XSS本质上是Html注入,类似于SQL注入。


SQL,HTML和人类语言都是指令他们和数据混合在一起,存在注入的风险(程序会基于分隔符和标签识别指令和数据,不同于我们普通人类是根据说话的语境、语义和我们而定日常生活经验判断吸收)。

例如,当注册用户时,用户输入“王二麻子”并提交,服务端会生成“ <p>欢迎新用户,王二麻子</p> ”传给浏览器。如果用户输入"<script>alert('逗你玩')<script>",服务端会生成 “<p>欢迎新用户,<script>alert('逗你玩')<script></p>”,输入内容就会被浏览器识别为指令执行,这就是XSS注入;

同理,小偷也是利用了这个漏洞,输入一个有特殊含义的词语作为名字,被其他客户端识别为指令,从而完美的完成了一个存储型XSS注入攻击。

上一篇      下一篇    删除文章    编辑文章
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门