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

标签:浏览器安全

共 8 篇相关文章

IT 累计浏览 2,909

部署 HSTS 提升网站安全性

这篇讲的是通过部署 HSTS(HTTP 严格传输安全)协议来强制浏览器使用 HTTPS 加密连接,从而避免用户首次访问时因 HTTP 跳转而产生的安全风险。作者指出,尽管许多网站已提供 HTTPS 服务,但用户习惯于输入域名,浏览器默认发起 HTTP 请求。这个跳转的瞬间,攻击者可能实施中间人攻击。HSTS 通过服务器在响应头中下发指令,让浏览器记住该域名必须使用 HTTPS,后续访问会直接发起安全连接。 文章详细拆解了开启 HSTS 的三个关键参数:必填的 `max-age` 定义了指令的有效时长(如一年),设置过短会增加暴露风险,过长则可能影响网站故障时的降级处理;可选的 `includeSubdomains` 将策略扩展到所有子域名,但需确保所有子站均已支持 HTTPS;`preload` 则更进一步,将域名预置入浏览器核心列表,实现首次访问即安全,但这也意味着极高的变更代价。 作者提醒,HSTS 依赖客户端行为,配置需谨慎。好消息是,如今各大浏览器已广泛支持,且免费 SSL 证书获取便捷,实施 HSTS 的门槛已大大降低,是提升整体互联网安全环境的有效手段。

IT 累计浏览 3,526

小心浏览器插件窃取你的隐私

这篇讲的是一个关于浏览器插件隐私安全的踩坑经历。作者发现,自己使用了一年多的知名鼠标手势插件 crxMouse Chrome Gestures,竟然在后台窃取用户的浏览历史。 问题如何发现呢?作者通过 Wireshark 抓包,发现该插件持续向外部服务器(如 s808.searchelper.com)发送加密的 POST 请求。解密后可以看到,请求中携带了当前页面的 URL、来源页面(Referrer)乃至内网地址等敏感信息,这意味着用户的浏览轨迹被完整记录并外传。 深入分析其 JavaScript 代码后,作者找到了根源:插件在初始化时生成了用户ID,并在多个浏览器事件(如标签页更新、切换)触发时,调用监听函数将数据经双重 Base64 编码后发送出去。这种隐蔽的实现,使得普通用户很难察觉。 最终,作者卸载了这款插件,并在应用商店更换了其他同类工具。他的结论是,虽然开发者盈利不易,但窃取隐私的行为必须抵制。这个案例提醒我们,对于浏览器插件这类拥有较高权限的工具,需要多一份审视和警惕。

IT 累计浏览 3,963

深入解析DLL劫持漏洞

这篇文章深入剖析了DLL劫持这项古老但依然实用的技术。作者从Windows DLL加载机制的核心漏洞出发,对比了Windows XP SP2前后搜索顺序的关键差异,特别是SafeDllSearchMode开启与否对“当前目录”优先级的影响。 文章重点区分了三种主流的利用场景:针对应用程序安装目录的劫持(需要写权限,常用于持久化或“白加黑”免杀)、针对文件关联的劫持(只需用户打开特定文件,如PDF,条件最简单),以及针对安装程序的劫持。通过Notepad++安装包的ProcMon抓包实例,具体展示了如何识别和利用漏洞。 此外,文章还结合了HaifeiLi关于Chrome/Edge浏览器“自动下载”漏洞的案例,拓展了DLL劫持在现代软件环境中的攻击面,并简要提及了新版Edge对DLL注入的缓解措施。整体来看,它系统梳理了从原理、挖掘(如使用ProcMon过滤)到利用的完整链条。

IT 累计浏览 4,190

12行代码的浏览器DoS攻击分析及防御

这篇讲的是如何用12行JavaScript代码让主流浏览器甚至移动设备陷入DoS崩溃。作者从pjax技术所依赖的`history.pushState`接口切入,剖析了其工作机制:该接口允许无刷新修改URL并记录历史状态。 攻击的核心在于一个循环:代码通过上万次调用`history.pushState`,不断向浏览器历史堆栈中堆积记录。这会导致页面地址被无意义的长字符串覆盖,CPU与内存占用率在短时间内飙升至100%,最终造成Chrome、Firefox、Safari等浏览器崩溃,甚至引发iPhone重启或Android应用闪退。作者在虚拟机环境中的实测数据,清晰展示了循环次数与系统资源耗尽之间的关联。 在剖析原理的同时,文章也给出了面向用户的直接防御建议——保持安全意识,不轻易点击来源不明的链接。更深层次地,它提醒我们,现代Web API在提升体验的同时,也可能被滥用为攻击向量。开发者在使用这类接口时,需要考虑其潜在风险与边界情况。

IT 累计浏览 2,474

跨域访问和防盗链基本原理(二)

这篇文章深入拆解了Web前端跨域访问的核心原理,重点对比了两种主流解决方案:JSONP与CORS。作者从跨域访问的定义切入,清晰区分了浏览器Referer请求与脚本发起请求在安全性上的根本差异——后者可能被恶意利用截获数据,因此成为需要重点管控的技术问题。 文章详细剖析了JSONP的工作机制:它巧妙地利用了浏览器允许加载外部脚本的特性,通过客户端预先定义函数、服务端返回调用该函数的脚本代码来传递数据。作者也客观指出了JSONP的局限:只能发起GET请求、依赖客户端与服务端的特定配合,且数据必须是JSON格式。 随后,文章将视角转向更现代的CORS方案。这里作者解释了其核心是服务端通过设置HTTP响应头(如Access-Control-Allow-Origin)来显式授权跨域访问。浏览器在正式发送请求前,会通过OPTIONS预检请求与服务端协商权限,这一流程使得跨域访问的控制权更规范地回归到了服务端。文中配有的流程图,清晰地展示了这一交互过程。 最后,文章简要提及了服务器代理、修改域标识等其他方案,但明确指出JSONP与CORS构成了当前跨域访问实践的两大基石。整体上,文章从原理到实践,系统地梳理了这一前端关键技术点的演进与现状。

IT 累计浏览 2,786

跨域访问和防盗链基本原理(一)

这篇讲的是防盗链的基本原理。作者从网页资源的加载过程切入,指出浏览器呈现一个完整页面需要发起大量GET请求,其中既包括本站资源,也可能包含非本站托管的外部资源。当网站A未经允许直接引用网站B的图片等资源,并从中获益时,就构成了“盗链”,这会消耗B站的流量。 文章核心对比了两种请求情况:直接访问页面时不会携带来源信息,而浏览器加载页面内的外部资源时,会自动在HTTP请求中加入`Referer`头,明确标示出请求的来源页面。资源服务器正是通过检查这个头域,来判断请求是否为本站或允许的来源。 对于非授权来源的请求,服务器可以拒绝提供资源,返回错误图片或提示信息,从而有效防止盗链。文章通过抓包截图直观展示了请求过程,清晰阐述了如何利用`Referer`机制实现基础防护,并为后续讨论跨域访问问题做了铺垫。

IT 累计浏览 2,634

WebView跨源攻击分析

这篇讲的是WebView安全中一个核心但常被忽视的问题:同源策略在本地文件场景下的边界。 作者龚广从浏览器同源策略的基本原理讲起,用一个清晰的对比表格说明了协议、域名、端口三要素如何共同决定URL的同源性,比如“http://www.360.cn:8088”因端口不同就与基准URL非同源。文章的核心深入到了file协议这个特殊领域:当JavaScript通过http页面加载时,file协议通常被视为非同源以阻止读取本地文件;但当JS本身通过file协议加载时,不同浏览器的处理策略则存在显著差异,这为攻击留下了可能的缝隙。 具体到Android WebView,文章通过示例代码展示了四个关键API设置——从是否允许加载file URL,到是否允许file URL中的JS进行跨域访问。这些配置如同一组开关,开错一个就可能让应用暴露在风险中。文章没有停留在理论,而是将同源策略的复杂边界与移动开发的具体实践结合,揭示了WebView安全配置中那些看似细微、却至关重要的决策点。

IT 累计浏览 4,679

Web标志(The Mark of The Web)摘记

这篇讲的是一个容易被忽略的IE浏览器兼容性细节。作者从阅读《HTML5秘籍》出发,分享了他在开发中遇到的一个具体问题:当本地HTML文件需要加载JavaScript时,IE默认会因安全设置弹出警告框,影响用户体验。 他从中学习到了“Web标志”这个解决方案——其实就是在HTML头部添加一行形如``的特殊注释。这行注释的作用是告诉IE浏览器,将该页面视为从远程网站下载而来,从而在本地的安全沙箱中正常运行,避免弹窗。 文章不止于介绍技巧,作者还进一步提出了自己的思考:这个注释是否真的广泛适用?使用了它又会不会带来其他副作用?例如,有观点认为这可能导致页面从本地缓存加载,从而影响某些脚本效果。而许多主流网站并未使用这一注释,也引发了对其实际价值的探讨。作者将这些疑问抛出,为前端开发者留下了一个值得琢磨的实践话题。