发布于 2026-01-06 0 阅读
0

AJAX 的历史与现代安全

AJAX 的历史与现代安全

祝全国网络安全意识宣传月快乐!

今天我将探索 AJAX——介绍它,使用它的漏洞,然后是额外内容:历史上一个伟大的黑客时刻。

好了,我们开始吧!

什么是 AJAX?

AJAX一词于2005 年提出代表同步JavaScriptXML

现有技术的超级组合,带来动态且流畅的网页体验。我们可以给喜欢的剧集“点赞”,而无需重新加载整个页面,也不会中断我们正在追的 Netflix 剧集。

真是太棒了。

异步 JavaScript将各项技术结合在一起,XMLHttpRequest 通过 HTTP 向服务器发送信息请求。

XML 部分?它只是请求的格式。它有点过时了,我们现在很少用了。很多网站现在都用 JSON(JavaScript 对象表示法)代替 XML。Fetch 已经取代了 XMLHttpRequests。

我们仍然使用缩写 AJAX 作为通用术语来描述协同工作的技术,以便从服务器快速保存或检索少量信息。

在此,我举手赞成将其更名AJAW——同步JavaScript其他

安全问题

既然我们已经了解了AJAX是什么,接下来就来谈谈它的漏洞。
剧透警告!漏洞很多。

我不会在这篇文章中详细介绍每一种攻击类型,而是更多地解释为什么这些攻击是可能的。

正如我们所了解的,AJAX 内部包含很多功能。但它缺乏内置的安全机制。在 21 世纪初 AJAX 开发之初,首要任务是确保它能够正常运行

其中一个最大的漏洞显而易见,那就是由于 AJAX 只是一堆工具,它本身没有编码机制。函数调用以纯文本形式发送到服务器。

增加攻击面

攻击面是指攻击者可以尝试向环境中输入数据或从中提取数据的所有途径。客户端和服务器之间的所有动态通信,每一个数据请求都可能成为注入恶意内容的入口。

尽可能缩小攻击面是一种良好的安全实践。

替代文字

异步 Web 固然很酷,但如果数据以明文形式在网络上传输,每次请求都可能成为攻击面,那么它真的值得吗?

嗯,我一直瞒着你一件事。

它叫做HTTPS,也就是带有安全性的HTTP协议。它的HTTP请求和响应语法与HTTP相同,但客户端和服务器之间的数据传输是加密的,从而使通信更加安全可靠。

作为个人,我们能做些什么?

使用安全的HTTPS/SSL通道是防止攻击发生的最简单方法。请使用现代浏览器并确保定期安装更新!

2018年,谷歌开始将缺少SSL证书(安装后可使网站使用HTTPS安全URL的证书)的网站标记为“不安全”。大多数浏览器也纷纷效仿。在Chrome浏览器中访问HTTP网站,您很可能会看到类似这样的警告:
替代文字

HTTPS Everywhere是一款由电子前沿基金会 (Electronic Frontier Foundation) 开发的便捷浏览器扩展程序,适用于 Mozilla Firefox、Google Chrome、Chromium 和 Android 系统。它利用巧妙的技术,将数百个常用网站的 HTTP 请求重写为 HTTPS 请求。

作为应用开发者和网站管理员,我们能做些什么?

很多!有很多方法(甚至很简单)可以缓解使用 AJAX 带来的安全漏洞。将网站转换为 HTTPS 并不昂贵或困难。它不会降低网站速度或占用更多服务器 CPU。一些网络托管公司甚至会免费提供 SSL 证书,以此作为吸引用户使用其服务的优惠。

即使您不处理信用卡信息,使用 HTTPS 也能让访客的帐户更安全,并能提高您的搜索排名。

HTTPS 已成为标准!赶紧加入吧。

历史上的伟大黑客时刻

2005年10月4日。

萨米·卡姆卡尔 (Samy Kamkar) 19 岁时,在当时最大、最受欢迎的在线社交网络MySpace上发布了一个跨站脚本蠕虫病毒。

不到一天的时间,萨米的病毒就让他拥有了超过一百万人的“好友”。所有新“好友”的个人资料上也都添加了“但最重要的是,萨米是我的英雄”这句话。

为了阻止攻击,访问量排名前十的网站被迫关闭。

他是怎么做到的?他利用了 AJAX(JavaScript HTTP GET 和 POST 请求),并利用了 MySpace 在阻止 DIV 标签注入方面的漏洞。MySpace 已经修复了网站的漏洞,想要了解更详细的技术分析,可以去 Samy 的个人博客看看。

虽然 Samy 的蠕虫病毒更多的是一种实验性而非恶意行为,但它给世界敲响了警钟,提醒人们不安全的数据请求可能造成的破坏。

谢谢萨米!

祝大家Hacktober快乐!

如需了解更多关于 AJAX、HTTPS 和 Samy 蠕虫的信息,请查看以下资源:
https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX
https://thehistoryoftheweb.com/what-does-ajax-even-stand-for/
https://www.owasp.org/index.php/Testing_for_AJAX_Vulnerabilities_(OWASP-AJ-001)
https://security.googleblog.com/2018/02/a-secure-web-is-here-to-stay.html
https://www.vice.com/en_us/article/wnjwb4/the-myspace-worm-that-c ​​hanged-the-internet-forever

文章来源:https://dev.to/amberjones/hacktober-history-in-ajax-security-h69