最新要闻
- 环球信息:弦歌扬雅韵,诗乐绘情深,云外清音——大提琴与诗词音乐会举行
- EDG正式发布Uzi夏季赛定妆照!这就是瘦下来的神吗?
- 【天天时快讯】特斯拉辅助驾驶4年间在美国发生736起车祸 至少17人遇难
- 【报资讯】46.9℃!新疆又热到全国第一了
- 是个大工程!大熊猫洗澡两个半人摁半个负责洗:旁边一只在看戏-观天下
- 环球今热点:马斯克脑机接口获批人体实验 公司估值高达50亿美元
- 美迪西:美熹企业通过大宗交易向其一致行动人王国林内部转让79.66万股
- 外观酷似极氪001 阿维塔首款中大型轿跑E12实车谍照首曝
- 北方多地迎今年来最强高温!京津冀等11省份连续高温:局地40℃
- 神舟新款战神游戏本上架:酷睿i7+RTX 4060仅5898元_每日消息
- 理想销售称蔚来降价是为了活命 李斌:希望友商不要“带节奏”
- 视觉中国推出付费AI绘图功能:仅提供服务、无版权
- V观财报|浙文影业第二大股东钱文龙短线交易致歉
- 全球今头条!2499元 铭凡Venus NPB5迷你主机上架:i5-13500H、双2.5G网口
- 全球资讯:真比加油快!宁德时代发布“骐骥换电”:重卡几分钟满血出发
- 性能逼近PS5!华硕首款掌机ROG Ally国行版已上架:6月14日开售
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
全球热点评!记录--详解 XSS(跨站脚本攻击)
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助
前言:我们知道同源策略可以隔离各个站点之间的 DOM 交互、页面数据和网络通信,虽然严格的同源策略会带来更多的安全,但是也束缚了 Web。这就需要在安全和自由之间找到一个平衡点,所以我们默认页面中可以引用任意第三方资源,然后又引入 CSP 策略来加以限制;默认 XMLHttpRequest 和 Fetch 不能跨站请求资源,然后又通过 CORS 策略来支持其跨域。
(资料图片仅供参考)
不过支持页面中的第三方资源引用和 CORS 也带来了很多安全问题,其中最典型的就是 XSS 攻击。
什么是 XSS 攻击
XSS 全称是 Cross Site Scripting,为了与“CSS”区分开来,故简称 XSS,翻译过来就是“跨站脚本”。XSS 攻击是指黑客往 HTML 文件中或者 DOM 中注入恶意脚本,从而在用户浏览页面时利用注入的恶意脚本对用户实施攻击的一种手段。
最开始的时候,这种攻击是通过跨域来实现的,所以叫“跨域脚本”。但是发展到现在,往 HTML 文件中注入恶意代码的方式越来越多了,所以是否跨域注入脚本已经不是唯一的注入手段了,但是 XSS 这个名字却一直保留至今。
当页面被注入了恶意 JavaScript 脚本时,浏览器无法区分这些脚本是被恶意注入的还是正常的页面内容,所以恶意注入 JavaScript 脚本也拥有所有的脚本权限。下面我们就来看看,如果页面被注入了恶意 JavaScript 脚本,恶意脚本都能做哪些事情。
- 可以窃取 Cookie 信息。恶意 JavaScript 可以通过“document.cookie”获取 Cookie 信息,然后通过 XMLHttpRequest 或者 Fetch 加上 CORS 功能将数据发送给恶意服务器;恶意服务器拿到用户的 Cookie 信息之后,就可以在其他电脑上模拟用户的登录,然后进行转账等操作。
- 可以监听用户行为。恶意 JavaScript 可以使用“addEventListener”接口来监听键盘事件,比如可以获取用户输入的信用卡等信息,将其发送到恶意服务器。黑客掌握了这些信息之后,又可以做很多违法的事情。
- 可以通过修改 DOM伪造假的登录窗口,用来欺骗用户输入用户名和密码等信息。
- 还可以在页面内生成浮窗广告,这些广告会严重地影响用户体验。
恶意脚本是怎么注入的
现在我们知道了页面中被注入恶意的 JavaScript 脚本是一件非常危险的事情,所以网站开发者会尽可能地避免页面中被注入恶意脚本。要想避免站点被注入恶意脚本,就要知道有哪些常见的注入方式。通常情况下,主要有存储型 XSS 攻击、反射型 XSS 攻击和基于 DOM 的 XSS 攻击三种方式来注入恶意脚本。
1. 存储型 XSS 攻击
我们先来看看存储型 XSS 攻击是怎么向 HTML 文件中注入恶意脚本的,你可以参考下图:
通过上图,我们可以看出存储型 XSS 攻击大致需要经过如下步骤:
- 首先黑客利用站点漏洞将一段恶意 JavaScript 代码提交到网站的数据库中;
- 然后用户向网站请求包含了恶意 JavaScript 脚本的页面;
- 当用户浏览该页面的时候,恶意脚本就会将用户的 Cookie 信息等数据上传到服务器。
下面我们来看个例子,2015 年喜马拉雅就被曝出了存储型 XSS 漏洞。起因是在用户设置专辑名称时,服务器对关键字过滤不严格,比如可以将专辑名称设置为一段 JavaScript,如下图所示:
当黑客将专辑名称设置为一段 JavaScript 代码并提交时,喜马拉雅的服务器会保存该段 JavaScript 代码到数据库中。然后当用户打开黑客设置的专辑时,这段代码就会在用户的页面里执行,这样就可以获取用户的 Cookie 等数据信息。
当用户打开黑客设置的专辑页面时,服务器也会将这段恶意 JavaScript 代码返回给用户,因此这段恶意脚本就在用户的页面中执行了。恶意脚本可以通过 XMLHttpRequest 或者 Fetch 将用户的 Cookie 数据上传到黑客的服务器。
2. 反射型 XSS 攻击
在一个反射型 XSS 攻击过程中,恶意 JavaScript 脚本属于用户发送给网站请求中的一部分,随后网站又把恶意 JavaScript 脚本返回给用户。当恶意 JavaScript 脚本在用户页面中被执行时,黑客就可以利用该脚本做一些恶意操作。
这样讲有点抽象,下面我们结合一个简单的 Node 服务程序来看看什么是反射型 XSS。首先我们使用 Node 来搭建一个简单的页面环境,搭建好的服务代码如下所示:
var express = require("express");var router = express.Router(); /* GET home page. */router.get("/", function(req, res, next) { res.render("index", { title: "Express",xss:req.query.xss });}); module.exports = router;
<%= title %> <%= title %>
Welcome to <%= title %>
<%- xss %>
上面这两段代码,第一段是路由,第二段是视图,作用是将 URL 中 xss 参数的内容显示在页面。我们可以在本地演示下,比如打开http://localhost:3000/?xss=123
这个链接,这样在页面中展示就是“123”了(如下图),是正常的,没有问题的。
但当打开http://localhost:3000/?xss=<script>alert("你被xss攻击了")</script>
这段 URL 时,我们会发现用户将一段含有恶意代码的请求提交给 Web 服务器,Web 服务器接收到请求时,又将恶意代码反射给了浏览器端,这就是反射型 XSS 攻击。在现实生活中,黑客经常会通过 QQ 群或者邮件等渠道诱导用户去点击这些恶意链接,所以对于一些链接我们一定要慎之又慎。
另外需要注意的是,Web 服务器不会存储反射型 XSS 攻击的恶意脚本,这是和存储型 XSS 攻击不同的地方。
3. 基于 DOM 的 XSS 攻击
基于 DOM 的 XSS 攻击是不牵涉到页面 Web 服务器的。具体来讲,黑客通过各种手段将恶意脚本注入用户的页面中,比如通过网络劫持在页面传输过程中修改 HTML 页面的内容,这种劫持类型很多,有通过 WiFi 路由器劫持的,有通过本地恶意软件来劫持的,它们的共同点是在 Web 资源传输过程或者在用户使用页面的过程中修改 Web 页面的数据。
如何阻止 XSS 攻击
我们知道存储型 XSS 攻击和反射型 XSS 攻击都是需要经过 Web 服务器来处理的,因此可以认为这两种类型的漏洞是服务端的安全漏洞。而基于 DOM 的 XSS 攻击全部都是在浏览器端完成的,因此基于 DOM 的 XSS 攻击是属于前端的安全漏洞。
但无论是何种类型的 XSS 攻击,它们都有一个共同点,那就是首先往浏览器中注入恶意脚本,然后再通过恶意脚本将用户信息发送至黑客部署的恶意服务器上。
所以要阻止 XSS 攻击,我们可以通过阻止恶意 JavaScript 脚本的注入和恶意消息的发送来实现。
接下来我们就来看看一些常用的阻止 XSS 攻击的策略。
1. 服务器对输入脚本进行过滤或转码
不管是反射型还是存储型 XSS 攻击,我们都可以在服务器端将一些关键的字符进行转码,比如最典型的:
code:<script>alert("你被 xss 攻击了")</script>// 过滤后code:
这样,当用户再次请求该页面时,由于<script>
标签的内容都被过滤了,所以这段脚本在客户端是不可能被执行的。
除了过滤之外,服务器还可以对这些内容进行转码,还是上面那段代码,经过转码之后,效果如下所示:
code:<script>alert(" 你被 xss 攻击了 ")</script>
经过转码之后的内容,如<script>
标签被转换为<script>
,因此即使这段脚本返回给页面,页面也不会执行这段脚本。
2. 充分利用 CSP
虽然在服务器端执行过滤或者转码可以阻止 XSS 攻击的发生,但完全依靠服务器端依然是不够的,我们还需要把 CSP 等策略充分地利用起来,以降低 XSS 攻击带来的风险和后果。
实施严格的 CSP 可以有效地防范 XSS 攻击,具体来讲 CSP 有如下几个功能:
- 限制加载其他域下的资源文件,这样即使黑客插入了一个 JavaScript 文件,这个 JavaScript 文件也是无法被加载的;
- 禁止向第三方域提交数据,这样用户数据也不会外泄;
- 禁止执行内联脚本和未授权的脚本;
- 还提供了上报机制,这样可以帮助我们尽快发现有哪些 XSS 攻击,以便尽快修复问题。
因此,利用好 CSP 能够有效降低 XSS 攻击的概率。
3. 使用 HttpOnly 属性
由于很多 XSS 攻击都是来盗用 Cookie 的,因此还可以通过使用 HttpOnly 属性来保护我们 Cookie 的安全。
通常服务器可以将某些 Cookie 设置为 HttpOnly 标志,HttpOnly 是服务器通过 HTTP 响应头来设置的。
由于 JavaScript 无法读取设置了 HttpOnly 的 Cookie 数据,所以即使页面被注入了恶意 JavaScript 脚本,也是无法获取到设置了 HttpOnly 的数据。因此一些比较重要的数据我们建议设置 HttpOnly 标志。
总结
好了,就介绍到这里,下面总结下本文的主要内容。
XSS 攻击就是黑客往页面中注入恶意脚本,然后将页面的一些重要数据上传到恶意服务器。常见的三种 XSS 攻击模式是存储型 XSS 攻击、反射型 XSS 攻击和基于 DOM 的 XSS 攻击。
这三种攻击方式的共同点是都需要往用户的页面中注入恶意脚本,然后再通过恶意脚本将用户数据上传到黑客的恶意服务器上。而三者的不同点在于注入的方式不一样,有通过服务器漏洞来进行注入的,还有在客户端直接注入的。
针对这些 XSS 攻击,主要有三种防范策略,第一种是通过服务器对输入的内容进行过滤或者转码,第二种是充分利用好 CSP,第三种是使用 HttpOnly 来保护重要的 Cookie 信息。
当然除了以上策略之外,我们还可以通过添加验证码防止脚本冒充用户提交危险操作。而对于一些不受信任的输入,还可以限制其输入长度,这样可以增大 XSS 攻击的难度。
本文转载于:
https://juejin.cn/post/7146867780308959262
如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。
关键词:
全球热点评!记录--详解 XSS(跨站脚本攻击)
ESMap 三维地图在智慧园区三维场景的应用-数字孪生3D可视化服务平台 当前速递
环球信息:弦歌扬雅韵,诗乐绘情深,云外清音——大提琴与诗词音乐会举行
EDG正式发布Uzi夏季赛定妆照!这就是瘦下来的神吗?
【天天时快讯】特斯拉辅助驾驶4年间在美国发生736起车祸 至少17人遇难
【报资讯】46.9℃!新疆又热到全国第一了
是个大工程!大熊猫洗澡两个半人摁半个负责洗:旁边一只在看戏-观天下
环球今热点:马斯克脑机接口获批人体实验 公司估值高达50亿美元
美迪西:美熹企业通过大宗交易向其一致行动人王国林内部转让79.66万股
基于vue+flask+sql的公司销售采购信息服务系统|环球简讯
世界时讯:当GaussDB遇上了毕昇编译器
要闻:java 中锁的定义
.NET项目中使用HtmlSanitizer防止XSS攻击
外观酷似极氪001 阿维塔首款中大型轿跑E12实车谍照首曝
北方多地迎今年来最强高温!京津冀等11省份连续高温:局地40℃
神舟新款战神游戏本上架:酷睿i7+RTX 4060仅5898元_每日消息
理想销售称蔚来降价是为了活命 李斌:希望友商不要“带节奏”
视觉中国推出付费AI绘图功能:仅提供服务、无版权
V观财报|浙文影业第二大股东钱文龙短线交易致歉
优化3500倍,从70s到20ms的顶级调优,此方案人人可用
Ubuntu安装 Anaconda 3
全球今头条!2499元 铭凡Venus NPB5迷你主机上架:i5-13500H、双2.5G网口
全球资讯:真比加油快!宁德时代发布“骐骥换电”:重卡几分钟满血出发
性能逼近PS5!华硕首款掌机ROG Ally国行版已上架:6月14日开售
2399元 红魔电竞显示器2K银翼版开售:240Hz超高刷新率|新资讯
三星终于用上水滴铰链!Galaxy Z Fold5折痕缩小15%
当前动态:宋PLUS 冠军版6月19日上市 预售16.98万元起
世界看热讯:空间数据的智慧呈现:探秘GIS地图的魅力
社交app源码技术屏幕的两大实用功能
环球即时:科创板收盘播报:科创50指数震荡跌0.57% 汽车配件股大涨
ETF投资(十二) |ETF也可以融资融券吗? 世界看热讯
已四涨五跌 6月13日国内油价再次调整:这次或将搁浅
环球消息!解锁5G双卡的终极形态:边打游戏 边打电话
路上晒麦致电瓶车摔倒:因找不到主人 麦子被卖了1800元赔钱
球王也来直播带货?梅西6月14日淘宝开播:粉丝互动唯一机会
焦点热议:时隔6年新作终于公布!《极限竞速:Motorsport》定档10月
天天速递!解析汽车APP面临的18种攻击风险
告警:线上慎用 BigDecimal !-天天速递
我在大湾区推“茶”出“新”
瞬间卖爆!《星空》预购首日登顶Steam热销榜 头条焦点
网球明星的特斯拉被盗 结果小偷被“车载限速、定位”教育|环球时快讯
今日快看!毕业典礼比心时校长手指被强制“掰弯” 画面引网友发笑:够胆大
不容错过!霸王首乌/生姜洗发水狂促发车:券后19.9元一大瓶
耗时三年 丰田发布全新周边!首个可移动式豪华卫生间正式亮相
女子称撑破试穿裙子无奈买下 裙子一扯像纸就烂:网友热议为何要讹人
只坑有钱人!史玉柱称感谢网友表扬:中国最缺计算数学人才 曾给浙大捐五千万 |全球速讯
今亮点!《小美人鱼》全球票房突破4亿美元:黑美人鱼称要成为大家榜样、公主
全球速读:Java XML教程_编程入门自学教程_菜鸟教程-免费教程分享
自抽脸?日本突然声称核污水危害健康 曾高喊可饮用、ALPS成笑话
青岛通报“一桌饭菜收费三次”:错收3400元已退还
铭凡推出HN2673迷你主机:12代i7 首搭锐炫独显 全球新要闻
蔚来全系车型降3万!新车主“二选一”:可退3万块
泰安市财政局调研组到高新区调研财税工作
小米发布99元真无线耳机:单耳仅3.6g 28小时长续航
环球看点!似曾相识!麦芒A20官宣:5000万像素高清影像
大众CC超速迎头撞上大众途岳:后者A柱弯曲近乎报废_世界观速讯
【世界播资讯】还要啥自行车!2023款奇瑞艾瑞泽5 PLUS只要7.49万!快上车
北京修订电动自行车用锂电池标准:电池组超80℃ 车辆30秒内发声报警
探鱼的酱香味烤鱼,“酱”指的是什么酱呢?|环球精选
深度学习应用篇-自然语言处理-命名实体识别[9]:BiLSTM+CRF实现命名实体识别、实体、关系、属性抽取实战项目合集(含智能标注)_资讯推荐
环球今日报丨Qt 事件系统总结
Web网页端IM产品RainbowChat-Web的v5.0版已发布
【热闻】马斯克嘲讽人工智能:机器学习本质就是统计学
小学生用奶奶手机充值游戏2.9万 法院判决来了 世界视讯
“龙字辈”成员即将加入!长城发布全新硬派SUV 或命名:“翔龙”
河南雷暴大风 半米粗大树连根拔起 外卖小哥伸头躲过一劫
世界快播:蔚来宣布重大决定:免费换电权益解绑 全系车型降价3万
今日播报!村里种的“软黄金”迎来丰收季
每日速读!windows下如何杀掉Tomcat进程
焦点信息:5分钟学会数据结构中的线性链表
Python工具箱系列(三十五) 全球新消息
vue使用 elementUI中el-upload的遇到的问题总结
【新华解读】可转债退市机制逐步完善 未来或迎来“宽进宽出”市场生态_全球新动态
两批次食品不符合国家标准上黑榜 全球快资讯
俩石柱子被五菱一下子撞飞 附近店家感慨:此乃神车
米哈游去年赚了161亿!网友:够再开发十个《原神》了
每日快报!时代变了!未来18个月内 传奇瑞等大量国产车企将进入英国市场
世界速讯:越南因罕见高温遭遇“停电危机”:佳能等企业轮流停电
全球视讯!多种口味:和路雪经典大梦龙多口味雪糕16支88元发车
物联网开源操作系统简介 天天快资讯
Jenkins + Docker 一键自动化部署 Spring Boot 项目,步骤齐全,少走坑路! 全球微动态
甘肃省加快推进交通项目建设 每日快播
《暗黑4》第一件“军帽”在韩服现身 官方证实:最强欧皇诞生 属性无敌
苹果回应Mac Pro弃用AMD显卡:压根就不适配_天天微速讯
VIP体验卡到期!高考后饭菜的反差让人猝不及防:从“吃啥有啥”变“有啥吃啥”
今日报丨windows图片查看器修复(windows图片查看器)
解读投顾新规(一)| 扭转投顾“产品化”倾向 引导行业回归服务本源
【读财报】基金发行透视:年内发行规模同比下降15% 鹏扬、国融基金产品发行失败_全球快资讯
国家助学贷款累计发放超4000亿元 惠及2000多万名学生
曝苹果开发Vision Pro更便宜版本:屏幕、处理器会缩水|世界看热讯
A卡降价太狠 NVIDIA坐不住:RTX 4060将提前上市 2399买吗?|焦点
汽车人险胜蜘蛛侠
产销两旺 新能源车消费涌热潮
读改变未来的九大算法笔记10_读后总结与感想 播报
动力电池回收赛道不断升温 上市公司积极挖掘新蓝海-环球热推荐
全球速读:女子220斤家人为激励减肥奖6万 已减超20斤:网友鼓励加油
当前速递!显卡不买丐版就亏了?到底该怎么选?
电路中的pnp是什么意思(电路中pn结是什么意思) 世界关注
深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景
面对英特尔大小核CPU AMD调整CPU供货和价格-每日速递