IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:XSS

共 17 篇相关文章

IT 累计浏览 53

当Nashorn失去括号:非典型Java命令执行绕过

针对Java Nashorn脚本环境中禁止使用小括号与中括号时执行任意命令的挑战,本文探讨了一种非常规的绕过思路。文章指出,Nashorn本质上是JavaScript引擎,而浏览器JavaScript中已存在无括号的XSS Payload技术,其核心在于避免直接调用函数时所需的括号。在此基础上,文章深入分析了如何将这一技术思路迁移到Nashorn的受限环境中,通过巧妙构造字符串并利用JavaScript隐式的函数调用机制(如通过运算符或属性访问触发),在无需显式编写括号的情况下,最终实现对如`java.lang.Runtime`等类方法的调用,从而达到执行系统命令的目的。该探讨为特定限制条件下的代码审计与安全防御提供了有价值的思路。

IT 累计浏览 3,339

老生常谈,安全上你不该犯的错!

这篇文章聚焦于Web开发中几个老生常谈却依然常见的安全漏洞:SQL注入、XSS攻击与猜测URL攻击。作者从实际案例出发,剖析了漏洞存在的根源——核心问题都在于未对外部输入进行充分验证与处理。 对于SQL注入,文章以一段直接拼接参数的查询代码为例,展示了攻击者如何通过构造`?ID=1 OR 1=1`获取全表数据,并指出了使用ORM框架或参数化查询是根本的解决方案。针对XSS攻击,文章解释了恶意脚本如何通过URL或数据库存储窃取用户Cookie,并强调了对所有输入进行HTML编码的重要性。至于猜测URL攻击,则是通过遍历参数来越权访问数据,建议采用无规律ID、增加权限校验或添加校验字段来防范。 文章最后提出了一个关键观点:安全是一个系统工程,其首要原则是“不要相信任何输入”,需对包括URL参数、Cookie、Header在内的所有外部信息保持警惕。同时,配合使用安全扫描工具进行检测,能进一步提升系统安全性。

IT 累计浏览 3,192

NodeJs下的Web安全

这篇文章聚焦于Node.js应用面临的Web安全威胁及防御之道。它系统地拆解了从基础到进阶的多种攻击模式,每种都清晰地阐述了攻击原理与具体防范措施。 比如,针对SQL注入,文章展示了恶意参数如何拼接出`drop table`的毁灭性语句,并强调对用户输入进行过滤是关键。对于XSS脚本攻击,作者提醒要保持对用户数据的怀疑,并推荐了具体的过滤模块。文章还深入讲解了CSRF请求伪造、HTTP管道洪水漏洞,以及包括Slowlori慢速攻击、超大Buffer耗尽内存在内的多种应用层DoS攻击手法。 除了这些经典问题,内容也延伸至Node.js开发中特有的风险点,如因直接拼接文件路径导致的目录遍历漏洞,以及MD5等传统加密方式因彩虹表而变得不安全的现状。文末的总结建议,将Node.js应用部署在Nginx之后、对输入进行严格过滤,是极具操作性的生产环境防护指南。

IT 累计浏览 2,346

XSS 前端防火墙 —— 可疑模块拦截

这篇讲的是,如何为XSS前端防火墙增加对可疑脚本模块的主动拦截能力。作者从上一代系统的不足出发——虽然能防简单的内联代码,但面对站外脚本加载和代码混淆时束手无策——提出了一套基于DOM监视的“可疑模块跟踪系统”。 文章的核心探索,围绕着HTML5提供的MutationEvent接口(包括DOMNodeInserted事件与MutationObserver)展开。通过大量实测代码,作者验证了这套方案在检测层面的有效性:MutationObserver能批量捕获静态脚本,DOMNodeInserted则对动态创建的元素响应更及时。更进一步,实验证明利用MutationObserver甚至可以在脚本加载前将其从DOM中移除,实现对静态脚本的拦截,但在动态脚本和跨浏览器一致性上遇到了限制。 作者并未止步于事件监听,而是深入分析了动态脚本创建的全过程,尝试了在属性赋值阶段进行拦截的更高阶思路。整篇文章并非提供一个完满的最终方案,而是详实记录了一次充满实验与思考的技术攻坚过程,展现了在浏览器环境限制下,为前端安全“打补丁”的真实挑战与巧妙尝试。

IT 累计浏览 2,296

XSS 前端防火墙 —— 内联事件拦截

传统XSS防御依赖服务端过滤与转义,但漏洞仍频发。这篇文章另辟蹊径,提出了一种部署在用户浏览器端的“前端防火墙”预警方案。 作者的核心思路是将防御逻辑从被动的事后过滤,转向主动的事前拦截。他认为XSS的执行本质是浏览器中的事件触发,因此可以借助DOM事件模型,在攻击代码实际运行前对其进行拦截分析。 文章详细探讨了如何针对“内联事件”这类常见XSS注入点,利用addEventListener的捕获阶段机制,抢先一步执行防御脚本。这套方案不仅能拦截恶意事件,还能实时上报异常信息,让开发团队在漏洞被大规模利用前就收到预警。它把每一个用户的浏览器都变成了一个实时的监控节点,变被动为主动。

IT 累计浏览 4,040

使用Http-only Cookie来防止XSS攻击

这篇文章从Cookie在维持HTTP会话状态中的关键作用切入,揭示了XSS攻击窃取Cookie的典型手法——攻击者只需注入一段简单脚本,就能通过`document.cookie`获取敏感信息并外传。针对此威胁,文章分析了几种常见防护思路的缺陷:与User-Agent绑定易被同步窃取,与IP绑定则影响ADSL等动态IP用户的体验。 核心方案聚焦于**Http-only Cookie**。一旦该属性被设置,浏览器就不会将对应的Cookie暴露给客户端脚本,从根源上切断了XSS攻击读取Cookie的路径。文章具体展示了Http-only的设置语法,并指出ASP.NET等主流框架已提供便捷的配置接口。同时强调,这并非一劳永逸的解决方案——它不能阻止攻击者进行AJAX提交等恶意操作,因此实际部署中必须与其他安全策略组合使用,例如微软的Web Protection Library。 简言之,文章厘清了“为何需要Http-only”以及“它如何工作”,并提醒开发者将其作为纵深防御体系的一环,而非唯一防线。

IT 累计浏览 5,659

几种极其隐蔽的XSS注入的防护

这篇讲的是几种极其隐蔽的XSS注入方式及其防护策略。文章开篇点明了XSS攻击的本质:网页因用户输入而生成了意料之外的、可执行的JavaScript代码,并被浏览器执行,导致恶意脚本在受害者上下文中运行。 作者接着聚焦于那些容易被开发者忽略的隐蔽注入点。这些注入路径往往隐藏在看似安全的HTML属性编码、JavaScript上下文内的动态拼接,甚至是自定义的事件处理函数中。它们的特点是能绕过常见的黑名单过滤或简单的转义机制,攻击载荷的构造与上下文环境紧密相关,使得检测和防护变得尤为困难。 针对这些“隐藏的角落”,文章提出了一套组合防护思路。核心并非依赖单一的过滤规则,而是强调基于语义的深度分析与上下文感知的输出编码。例如,在将数据放入JavaScript变量或函数参数时,需要使用不同于HTML属性的专用编码方法。同时,文章也提倡部署严格的 CSP 策略作为纵深防御,从根本上限制未授权脚本的执行权限,为开发者提供了从编码实践到架构加固的多层次防护参考。

IT 累计浏览 2,836

android原生浏览器不支持httponly

这篇讲的是Android原生浏览器在安全机制上的一个关键缺失:它并不支持httponly标志。作者从一次安全事件出发,指出了这个问题的核心风险——当cookie未被httponly保护时,极易受到XSS(跨站脚本攻击)的窃取。文章深入分析了这一机制缺失的根源,即浏览器底层实现层面的疏漏,并强调了其在实际应用中的严重后果。 文中对比了主流浏览器对httponly的支持情况,凸显了Android原生环境在这一安全标准上的滞后。作者并未止步于指出问题,还为开发者提供了切实可行的规避思路,比如在服务端对敏感cookie进行更严格的管控,以及结合其他安全头(如Content-Security-Policy)构建纵深防御。 读完这篇文章,你会更清晰地意识到,在移动端Web开发中,不能想当然地依赖客户端浏览器的安全特性。对安全边界的理解必须具体到平台和实现细节,才能有效筑牢防线。

IT 累计浏览 3,086

PHP安全之慎用preg_replace的/e修饰符

这篇讲的是PHP开发中一个经典且隐蔽的安全陷阱——preg_replace函数的/e修饰符。文章从实际安全审计案例切入,指出许多开发者习惯性使用/e修饰符在替换时执行PHP代码,但这会导致极其危险的代码注入漏洞,尤其在处理用户输入时。 作者深入剖析了/e修饰符的工作机制:它会将替换字符串(即第二个参数)当作PHP代码来解析和执行。如果这个字符串中包含未经验证的用户输入,攻击者就能构造恶意内容,在服务器上执行任意命令。文章用一个简单的案例演示了攻击者如何通过构造输入来获取服务器敏感文件内容。 文章的核心结论非常明确:在PHP 5.5.0版本后,/e修饰符已被标记为弃用,并在PHP 7.0.0中完全移除。对于仍在维护的旧系统,作者强烈建议立即使用preg_replace_callback函数作为安全替代方案。该函数通过回调函数处理替换逻辑,从根本上杜绝了代码注入的可能性,是解决这一安全问题的标准做法。

IT 累计浏览 3,693

PHP Taint – 一个用来检测XSS漏洞的扩展

这篇文章介绍的PHP Taint扩展,直击一个PHP开发中常见的安全痛点:如何在不改动业务逻辑的前提下,系统性地检测潜在的XSS漏洞。它并非一个理论模型,而是提供了一个可直接用于代码静态分析的工具。 其核心思路是在PHP语言底层,将来自外部环境的数据(如用户输入)标记为“污点”。扩展在脚本运行或分析过程中,会追踪这些污点数据的流向。一旦发现未经过滤或编码的污点数据被直接输出到HTML响应中,就会发出警告。这意味着开发者无需手动编写大量正则或逐行审计,就能自动定位那些最容易引发跨站脚本攻击的代码位置。 文章从作者与朋友的讨论切入,讲述了这一实现的初衷。它巧妙地利用了PHP的内部机制,在不影响运行时性能的情况下实现了深度分析,将人工排查转变为机器辅助的自动化检测,为PHP项目的安全保障提供了一种高效的自动化思路。

IT 累计浏览 3,347

深掘XSS漏洞场景之XSS Rootkit

这篇探讨的是XSS漏洞利用中一种隐蔽性更强的持久化控制机制——XSS Rootkit。作者从攻击者视角出发,剖析了如何利用XSS不仅窃取单次会话,更能在目标网站植入持久化的“脚本后门”。 文章深入拆解了攻击者如何将XSS从一次性漏洞利用,升级为一种隐蔽的控制通道。核心实现思路包括:利用持久化存储型XSS(如修改用户资料、评论)注入恶意脚本,该脚本在其他用户浏览器中执行后,会尝试劫持会话、窃取Cookie,并将控制权回传。更巧妙的是,攻击者可能利用它动态加载后续攻击模块、监控用户行为,甚至结合其他漏洞形成攻击链,将XSS漏洞转化为一个“前端Rootkit”,长期驻留并影响网站访问者。 作者不仅揭示了攻击手法,更从防御视角提供了具体洞察。例如,文章会分析这类攻击如何绕过常见的XSS过滤器,并强调了内容安全策略(CSP)等防御措施在阻断此类隐蔽通信中的关键作用。这为安全开发和运维人员敲响了警钟:防御XSS需超越对单一输入点的校验,更要关注如何阻断漏洞被利用后建立的持久化控制通道。

IT 累计浏览 2,638

以浏览器为核心的客户端软件的安全问题

这篇文章聚焦于一个正变得越来越普遍的现象:为了提升开发效率,不少桌面客户端软件开始将浏览器作为界面渲染引擎。作者从这个技术选型的背景出发,深入剖析了随之而来的独特安全风险。这类混合架构虽然能快速利用JavaScript、Flash等Web技术,但也意味着Web世界中成熟的安全威胁(如跨站脚本攻击)会直接迁移到本地应用环境中,可能导致本地数据泄露或权限提升。文章不仅点出了问题的核心,更进一步探讨了如何在享受浏览器便利性的同时,构建必要的安全边界来应对这些挑战。对于正在使用或考虑采用此类技术栈的开发者与安全工程师来说,文中对风险点的梳理提供了清晰的预警和防护思路。

IT 累计浏览 4,099

新浪微博的XSS攻击

这篇讲的是2011年新浪微博遭遇的一次典型XSS攻击。作者没有泛泛而谈安全概念,而是直接复盘了事件的始末。 文章描述了大量用户账号“失灵”的具体现象:他们的账号自动发布或私信发送了诸如“郭美美事件细节”、“范冰冰艳照”等极具诱惑力的虚假信息标题,并同时关注一位名叫“hellosamy”的攻击者。这种利用人性弱点的诱饵,配合社交网络的放大效应,使得攻击在短时间内广泛传播。 其核心观点在于,这次攻击清晰展示了XSS漏洞在巨型社交平台上的巨大破坏力。攻击者利用存储型XSS,在微博内容或私信中注入恶意脚本,劫持了受害者的浏览器会话,进而模拟用户操作。这不仅是一个技术漏洞,更是一次对用户信任和平台安全机制的双重打击。文章可能还分析了攻击的触发点、恶意脚本的工作原理,以及微博后续的修复措施。 对开发者而言,这个事件的启发是深刻的:它证明了即便在大型成熟系统中,前端输入过滤、输出编码以及内容安全策略(CSP)的缺失也可能导致灾难性后果。防御XSS不仅需要技术修补,更需要建立覆盖全链路的安全开发生命周期。

IT 累计浏览 4,329

一段Javascript的代码

作者分享了一段高度混淆的Javascript代码,挑战读者破解其功能。这段代码表面上杂乱无章,但通过分析可以发现,

IT 累计浏览 2,839

一段扫flash跨站的脚本

这篇讲的是作者针对Flash应用中一个经典安全问题——跨站脚本(XSS)风险——编写了一段专门用于扫描检测的脚本。虽然作者自谦“没啥技术含量”,但切入点非常直接和实用。 文章的核心聚焦于 `ExternalInterface.call` 这个关键的Flash与JavaScript交互接口。作者指出,这个接口如果使用不当,比如未经验证直接执行来自用户或外部传入的参数,就会成为跨站脚本攻击的入口。脚本的目的就是自动化地扫描SWF文件,快速定位其中所有调用了 `ExternalInterface.call` 的地方,从而帮助开发者或安全人员高效排查潜在的风险点。 实现的思路比较直白:脚本可能通过反编译或解析SWF文件结构,匹配相关的字节码或字符串来定位调用语句。巧妙之处在于,它把一个可能需要人工繁琐审查的工作变成了一个一键式的扫描流程,对于有一定规模的Flash项目来说,这种“笨”办法反而非常有效。 在Flash技术已逐渐淡出舞台的今天,这类针对性的检测工具依然提醒着我们:遗留系统的安全审计同样不容忽视。脚本虽小,但它直击要害的思路,对于理解动态语言环境中类似的交互安全问题也有启发。

IT 累计浏览 3,617

xss简单渗透测试

这篇讲的是Web安全领域中常见却又容易被忽视的XSS漏洞。作者没有堆砌枯燥的理论,而是直接从一个简单的测试环境出发,带着读者一步步完成一次完整的XSS渗透测试流程。 文章首先拆解了反射型、存储型和DOM型这几种主要XSS攻击的原理和区别,随后重点演示了如何使用基础工具(如浏览器开发者控制台)来构造和验证恶意脚本。最实用的部分在于,作者详细记录了从发现输入点、尝试注入、绕过简单过滤,到最终成功获取会话Cookie的全过程,并解释了每一步背后的逻辑。 它不像一些深度分析文章那样探讨复杂的代码混淆或高级防御绕过,而是扎实地展示了XSS攻击最本质的“所见即所得”——用户可控的数据是如何不经过滤直接改变页面行为的。对于刚接触安全测试的开发者或运维人员来说,跟着操作一遍,能立刻建立起对XSS威胁的直观认识。结尾处对防御建议的梳理,也让整个测试过程形成了从攻击到防范的闭环思考。

IT 累计浏览 3,917

淘宝网:前端安全须知

这篇来自淘宝网的技术分享,系统梳理了前端安全的核心防线。作者从常见的XSS(跨站脚本攻击)和CSRF(跨站请求伪造)出发,详细阐述了具体的攻击原理与场景。在XSS防护上,文章不仅提到了输入过滤和输出编码等基本手段,更重点介绍了内容安全策略(CSP)的部署实践,以及如何利用这套策略来有效限制脚本来源。 在CSRF防御部分,文章分享了淘宝网如何通过双重提交Cookie、验证Referer和Token等机制构建多层防护。此外,文章还探讨了HTTPS的强制升级、安全的Cookie属性设置以及应对安全漏洞的应急响应流程。这些内容并非泛泛而谈,而是结合了淘宝网自身的业务复杂性和海量用户场景,给出了经过验证的具体配置和代码示例。 对于前端开发者而言,这篇文章的价值在于它将抽象的安全概念,落地为了可执行的最佳实践清单,帮助大家从代码层面构建起更健壮的应用防御体系。