跨站脚本攻击(XSS)初探(一)

JavaScript中跨站脚本攻击(XSS)的防范与调试 防御分层策略输入层:严格过滤(白名单>黑名单)输出层:自动转义(模板引擎>手动编码)运行时:CSP策略+Cookie安全标志应急响应流程fill:#333;color:#333;color:#333;fill:none;是否发现XSS漏洞是否已上线?立即回滚代码+清除缓存修复代码并增加单元测试审计日志+通知用户提交代码审查发布安全公告持续安全建设定期进行渗透测试(如每月1次)订阅安全公告(如Node.js Security WG)建立安全编码规范(如禁止eval() 阅读详情

起因:突然觉得不该把人生全压在考研之上,毕竟万一没考上。。那就只能社招了,就当学点课外东西,休闲放松。

下面开始正题:

一.XSS由来:

我刚开始的时候很奇怪,为什么叫XSS,因为跨站脚本攻击英文是Cross Site Script,那不应该是CSS吗,后来查了一下是为了和三剑客(HTML,CSS,JS)里的CSS相互区别,所以就叫XSS了。

顾名思义:在web安全里,XSS通常是通过网页标记语言(通常是HTML)注入修改了网页,插入脚本,破坏原有正常的功能。可能是只能搞自己当前的网页,也可能是可以攻击所有用户的,举个例子:比如一个能提交评论没有做任何安全措施的网站,当一个用户上传了一个恶意的脚本作为评论并且通过服务端,其他任何用户都可以加载这个评论,在加载这个评论时候,就执行了这个恶意的脚本。导致所有用户都。。你懂得。

二.前置技能:

1.扎实的JavaScript功底,还会一些像隐式转换这种的,基本上是用最短的JS,实现最多的功能那种。

2.当然还要对Web间的各种数据交互,开发过程有一定的了解。

3.脑洞。脑洞一定要大。

三.XSS分类:

根据效果分大致可以分成两类:

1.反射型:

说定义就不说了,举个例子,就是需要把用户的数据反射给浏览器,一般可以放一个钓鱼网站让别人来点,从而获取一些数据。显然这个东西是Non-persistent的。

其中有一个特殊的,经常被单独讨论,叫做基于DOM的XSS攻击。

JS学的不错的话应该知道什么意思了,就是修改DOM节点的XSS攻击。

2.存储型:

这种顾名思义,就是把攻击脚本存到服务器去,让他人在无意中浏览这段脚本时候被攻击到。这种显然比上种来说是persistent的。

四.攻击角度:

1.登陆凭证劫持攻击:

原理

做过网站的应该都知道,我们与后台交互一般都是使用一个凭证的,这个凭证,可能是cookie中保存的,可能是storage存的,也可能是放在header里的一个token令牌,如果没有作额外的校验的话,外人一旦得到这个token,是可以直接绕开登陆这个过程进入用户操作的。

具体

凭证具体在哪,在控制台打出这个就有了,拿百度举例。

怎么用得到的cookie登陆

向请求的地方把cookie替换,然后会返回对应HTML代码,将这个代码复制到本地打开即可。

如何预防

常用做法用HttpOnly,还有的和IP绑定等等操作。

被上述预防之后还能这个劫持还有意义吗

这个问题其实是肯定的。。矛盾在马克思主义唯物辩证法下可是发展的动力啊。。就算我不能直接用这个凭证绕过登陆,我就不能直接用请求去操作吗?用过postman做开发接口测试的人应该都懂。。只要构造一个适当的请求,还是可以进行一些操作的,比如举个简单的例子:

假设我已经获得了一个人QQ邮箱的凭证,我可以先用自己的邮箱删除一个邮件,在Chrome的控制台的Network里看到发请求的各种操作。

然后用postman还是自己写JS还是别的什么工具都无所谓,直接把凭证替换,构造对应的参数就可以删掉了。

也许有人会说,那怎么要删的邮件id呢。。

这个其实也简单。。正常登陆进去,邮件id也是前端发请求,后台发给前端的,我们之间可以通过构造这个请求获取到一系列的邮件id。。甚至可以用查看邮件详情的接口,获取到对应的邮件内容,从而窃取相关内容。

当然了,实际不是那么简单的这是理想化的状态。

 

这篇就这么多了,下次有机会继续。

       Life shouldn't be at the mercy of fate.The more you lost,the more you will get.

WEB漏洞篇——跨站脚本攻击(XSS) 目录一、XSS简述1.1 什么是XSS1.2 XSS分类1.3 DOM XSS漏洞演示二、XSS攻击进阶2.1 初探XSS Payload2.2 强大的XSS Payload2.3 XSS攻击平台2.4 XSS Worm2.5 XSS构造技巧2.6 反射型XSS利用技巧-回旋镖2.7 Flash XSS2.8 JavaScript开放框架三、XSS防御3.1 HttpOnly3.2 输入检查3.3 输出检查3.4 正确地防御XSS3.5 处理富文本3.6 防御DOM Based XSS四、总结XSS攻击是指 阅读详情

相关推荐

跨站脚本攻击(XSS):原理、案例与全方位防御策略

通过深入理解XSS的攻击原理及其潜在影响,开发者和安全从业者可以采取有效的防御措施来保护Web应用程序的安全。多层次的综合防御策略,包括输入验证、输出编码、内容安全策略和HTTP头部安全配置,是防范XSS攻击的关键。攻击者利用XSS漏洞可以在用户浏览的网页中注入恶意脚本,从而盗取用户数据、劫持用户会话、修改网页内容等。基于DOM的XSS是指恶意脚本通过修改网页的DOM结构在客户端执行,而不经过服务器的处理。CSP是一种强大的防御机制,通过限制浏览器能够执行哪些脚本,防止XSS攻击。

m0_61532714的博客 2637

网络安全——XSS跨站脚本攻击

XSS跨站脚本攻击,DVWA靶机的三种类型三个等级的操作

weixin_54055099的博客 4608

最全--跨站脚本攻击(XSS)举例和预防方法

跨站脚本攻击(XSS)是指攻击者通过,从而窃取用户信息、篡改网页内容等。。

Keep trying, keep going 2050

XSS(跨站脚本攻击)原理详解(内含攻击实例)

军锋真人cs野战123平台、xss平台(推荐自行搭建xss平台,不让别人白嫖咱自个的成果,蓝莲花战队的那个就挺好)、webshell箱子、postman、beef(kali上可能要自行下载,三行命令即可)、burpsuite、xsstrike【内含软件使用方法】原理:前端提交的一些参数转换为js代码,可以回显一些东西跨站:例如你将一段攻击代码通过留言存储到对方服务器上时,对方管理员在浏览时就可能会执行你所写的攻击语句。产生层面:前端函数类:一般应用js里面的一些输出类函数但是会受浏览器内核影响,一些浏览器会

qq_52642385的博客 7650

Java 防御XSS攻击实战与示例代码

本篇介绍在Java 项目中如何快速修复XSS 漏洞。本篇使用的是黑名单的方式, 对于非法字符进行转义。 黑名单的方式虽然不能完全的解决XSS的漏洞, 但是能有效的减轻攻击, 对于使用类似Coverity等代码静态扫描攻击扫描的漏洞, 修复之后就不会再报相关的警报了。

oscar999的专栏 2393

20、跨站脚本攻击(XSS)的预防策略

本文详细探讨了跨站脚本攻击(XSS)的预防策略,从 XSS 攻击的原理入手,分析了输入过滤和输出过滤的不同方法,并比较了输入编码与输出编码的优缺点。此外,文章还介绍了浏览器安全策略以及如何综合运用技术手段和用户安全意识来有效防范 XSS 攻击,适用于不同规模的网站开发和维护场景。

star5的专栏 128

java防止XSS(跨站脚本攻击)攻击的常用方法总结

一、什么是XSS攻击? XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆, 故将跨站脚本攻击缩写为XSS。 二、如何预防XSS攻击呢? 自己写 filter 拦截来实现,但要注意的时,在WEB.XM 中配置 filter的时候,请将这个 filter 放在第一位. 采用开

码在飞博客 1万+

Windows下CMake的下载与安装详解

目录一、CMake介绍二、CMake的下载与安装 一、CMake介绍 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。 二、CMake的下载与安装 CMake下载链接:https://cmake.org/download/。 下载最新稳定版即可(Latest Release): 下载完成后,单击“Next”按钮,在下图中勾选“I acce

Wendy的博客 8万+

防止XSS跨站脚本攻击:Java过滤器

XSS问题描述 跨站脚本(Cross site script,简称xss)是一种“HTML注入”,由于攻击的脚本多数时候是跨域的,所以称之为“跨域脚本”。 我们常常听到“注入”(Injection),如SQL注入,那么到底“注入”是什么?注入本质上就是把输入的数据变成可执行的程序语句。SQL注入是如此,XSS也如此,只不过XSS一般注入的是恶意的脚本代码,这些脚本代码可以用来获取合法用户的数...

琦彦 2万+

MATLAB配置MinGW编译器的完整指南

本文提供了在Windows系统上为MATLAB配置MinGW编译器的完整指南。详细介绍了通过MATLAB附加功能管理器在线安装和手动离线安装两种核心方法,并重点说明了如何解决常见的“未找到支持的编译器”等错误。指南包含从版本检查、环境变量配置到最终使用mex命令验证的每一步,帮助用户顺利完成MATLAB与MinGW的集成,以支持C/C++代码编译。

weixin_29031057的博客 264

Mumax3高效模拟技巧:如何利用代码模板快速完成磁性材料特性分析

本文介绍了利用Mumax3代码模板库提升磁性材料微磁学模拟效率的核心方法。通过构建模块化的环境配置、材料库和特征长度计算模板,研究者可以快速组装模拟方案,自动化参数扫描与结果分析,从而将精力聚焦于物理问题本身,实现工作效率的指数级提升。

zz67890的博客 550

跨站脚本攻击(XSS)详解

跨站脚本攻击(XSS,Cross-Site Scripting)是一种通过在网页中注入恶意脚本,攻击用户浏览器的漏洞。攻击者可以利用XSS窃取用户敏感信息、劫持会话、或在受害者浏览器中执行恶意操作。通过及时识别和修复漏洞、使用安全编码实践和部署防御技术,可以有效预防XSS攻击的发生。

2402_86725606的博客 2049

RimWorld Mod开发避坑指南:从Defs命名规范到XML结构详解(附实战代码)

本文深入解析RimWorld Mod开发中Defs文件的编写规范与高级技巧,涵盖命名冲突预防、XML结构优化及高级功能实现。通过实战代码示例,帮助开发者避开常见陷阱,提升Mod兼容性与稳定性,特别适合RimWorld Mod开发者参考。

weixin_30790841的博客 450

跨站脚本攻击(XSS)全解析

人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本攻击缩写为XSS。跨站脚本攻击(XSS),是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。

chengoodflower的博客 1791

Allegro 16.6 高级技巧实战:用Region规则和动态间距搞定高密度连接器布局布线

本文深入探讨了Allegro 16.6在高密度连接器布局布线中的高级技巧,重点介绍了Region规则和动态间距属性的应用。通过局部规则覆盖和分层控制,解决0.5mm以下引脚间距的布线难题,提升PCB设计效率和质量。

weixin_30352645的博客 439

Revit模型转点云全流程:从OBJ导出到CloudCompare点云生成(2020版)

本文详细介绍了将Revit模型转换为点云数据的完整流程,特别针对Revit 2020用户。通过使用OBJ导出插件和开源软件CloudCompare,实现从模型导出、网格采样到生成结构化PCD点云的全过程,并提供了关键参数设置与常见问题解决方案,为BIM与三维数字孪生应用提供技术支持。

oo7890的博客 154

Python 处理跨站脚本攻击(XSS)的安全措施

XSS 攻击的核心在于将恶意脚本注入到网页中,并通过用户的浏览器执行。攻击者通常会利用用户输入的不安全处理方式,例如直接将未经处理的用户数据插入到 HTML 页面中。如果攻击成功,恶意脚本可能会窃取用户的 Cookie、会话信息,甚至劫持用户的账户。反射型 XSS:攻击者通过诱使用户点击带有恶意参数的链接来触发脚本执行。存储型 XSS:攻击者将恶意脚本存储到服务器数据库中,所有访问该内容的用户都会受到影响。DOM 型 XSS:攻击者通过篡改客户端的 DOM 结构,使得恶意脚本被执行。

2501_91163984的博客 1248

Sprd Android 13 备忘 OTA升级app没更新到目标版本,恢复出厂才生效修改这个值

【代码】Sprd Android 13 备忘 OTA升级app没更新到目标版本,恢复出厂才生效修改这个值。

m0_60898338的博客 679

跨站脚本攻击(XSS)高级绕过技术与防御方案

摘要:本文深入分析XSS高级绕过技术,包括事件处理器过滤绕过(冷门HTML属性、跨命名空间攻击、CSS注入)、标签解析容错特性(非常规标签构造、编码混淆)以及现代技术演进(动态Payload、第三方依赖滥用、CSP绕过)。提出企业级防御方案:深度输入过滤(多层级清洗)、上下文感知输出编码(不同场景专用编码)、强化CSP策略(strict-dynamic)和运行时保护(DOM监控/函数Hook)。结合历史漏洞案例(GitHub/React/Angular)和红蓝对抗测试矩阵,推荐采用DOMPurify+CSP

Bruce_xiaowei的博客 1505

【天气雷达】双偏振产品-差分传播相移KDP详解

双偏振产品-差分传播相移KDP详解。

珞瑜的博客 2661

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

next cyber——跨站脚本攻击(XSS)

在留言板提交使用我们上面的有效载荷,修改JavaScript代码显示cookie而不是显示url,获取。

nidaye_sun的博客 1833

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

跨站脚本攻击(XSS)与跨站请求伪造(CSRF)的介绍、区别和预防

攻击者通过在网页中注入恶意脚本(如 JavaScript),当用户访问该页面时,脚本会在用户浏览器中执行,从而窃取数据、劫持会话或控制用户行为。“我偷你的数据”(脚本注入,用户受害)。2011 年索尼 PSN 被黑事件,用户数据泄露,其中就涉及 XSS 漏洞。这个案例展示了 XSS 如何被用来窃取用户会话,进而访问敏感信息。示例。

chengoodflower的博客 1338

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

跨站脚本攻击(XSS)原理及防护方案

保护用户数据和隐私,确保网络环境的安全,才是网站运营者义不容辞的责任。跨站脚本攻击(XSS,Cross-Site Scripting)是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本,使其在用户的浏览器中执行。XSS攻击可以窃取用户的敏感信息,如cookies、会话令牌等,甚至可以劫持用户会话,进行恶意操作。安全加速(Secure Content Delivery Network,SCDN)是德迅云安全推出的集分布式DDoS防护、CC防护、WAF防护、BOT行为分析为一体的安全加速解决方案。

dexunxiaoqian的博客 1173

跨站脚本攻击(XSS)以及如何防止它?

XSS攻击是指攻击者通过注入恶意脚本到网页,当其他用户浏览该页面时,恶意脚本会在受害者的浏览器中执行,从而获取敏感信息、篡改页面内容或执行其他恶意操作。防范XSS攻击是前端开发中不可忽视的一部分。通过理解XSS攻击的原理及其防御策略,我们可以构建出更加安全、健壮的Web应用。随着网络环境的不断演变,开发者应持续关注最新的安全动态,不断优化和升级自己的安全实践,以保护用户的信息安全。在日常开发中,我们应该秉持谨慎的态度,对每一行代码负责,共同营造一个更加安全的互联网世界。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1314

跨站脚本攻击(XSS)如何防范?

跨站脚本攻击(XSS)是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本,从而在用户浏览网页时执行这些脚本,窃取用户的敏感信息或控制用户的浏览器。:对用户输入的数据进行严格的过滤和验证,确保输入的内容符合预期的格式和类型。例如,验证输入是否为有效的电子邮件地址或URL,过滤掉可能导致脚本执行的特殊字符。:在将用户输入的内容输出到网页时,进行适当的编码处理,防止恶意脚本被执行。例如,将HTML特殊字符进行转义,将转义为,将转义为。

破损的天堂鸟博客 1516
上一篇: SPFA+队列优化与迪杰斯特拉+优先队列(最小堆优化)解一道水题
下一篇: Web安全:DDOS攻击的防范
Tate_Brown
博客等级 码龄9年 39粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值