【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

Shellshock 漏洞证明是时候放弃 CGI 技术了

  • 2014-10-14
  • 本文字数:964 字

    阅读完需:约 3 分钟

最近,被类 UNIX 系统广泛使用的 Bash 软件曝出了一系列已经存在数十年的漏洞( Shellshock ),在业界引起了非常大的影响。不少 Linux 发行版本连夜发布了修复版本的 Bash,在服务器领域占有不少份额的 FreeBSD 和 NetBSD 已经默认关闭了引起漏洞的功能。InfoQ 也及时带来了关于 Shellshock 的详细报道

在这个漏洞的风波逐渐平息之余,不少业内人士也在思考,它为何波及如此之广,影响如此之大。 InfoWorld 的专栏作者 Andrew C. Oliver 在一篇文章中表达了自己看法,他认为CGI 技术的普及是个错误,正是因为CGI 技术的不合理之处,Shellshock 才有机可乘。

CGI 技术是 Web 技术刚兴起的时候发明的,它是最早的可以创建动态网页内容的技术之一。它会把一个 HTTP 请求转化为一次 shell 调用。而 Shellshock 的原理是利用了 Bash 在导入环境变量函数时候的漏洞,启动 Bash 的时候,它不但会导入这个函数,而且会误把函数定义后面的命令也执行一遍。在有些 CGI 脚本的设计中,数据是通过环境变量来传递的,这样就给了数据提供者利用 Shellshock 漏洞的机会。对此,Oliver 抱怨道:

为什么有人会认为,通过 HTTP 请求给一个陌生人访问 shell(哪怕是受限的)的机会是一个好主意呢?我不理解。

Oliver 把 CGI 技术比作“上了膛的武器”,程序员必须非常谨慎地使用它,写出优秀的脚本。但在现代的商业实践中,雇佣优秀程序员已经不是一个必选项,大量的廉价程序员很多时候也能合力完成工作。能写出考虑周全的 CGI 脚本的人越来越少,这也使得 CGI 技术更不合时宜了。

Oliver 甚至觉得,用 C 语言编写的动态网页程序都要比 CGI 好一些,因为避免 C 语言的缓冲溢出问题其实并不难,如果程序员不给自己挖坑,并且认真做好单元测试的话,问题不会太大。

编写水平糟糕的 CGI 脚本,确实是互联网上可利用漏洞最多的技术之一了。当然网络、计算机架构等也有可能存在漏洞,但是 CGI 从诞生之初就是一个设计错误,经历此次 Shellshock 风波,其弱点也再次暴露在公众面前。Oliver 也呼吁大家,逐步放弃 CGI 技术,“先移除那些暴露在公众访问之下,又需要非常仔细编写才能不出问题的脚本”。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-10-14 03:252071
用户头像

发布了 77 篇内容, 共 35.4 次阅读, 收获喜欢 25 次。

关注

评论

发布
暂无评论
发现更多内容

亮点功能: 私有节点&组织内节点

都广科技

DevOps

毫末DriveGPT再获证明!斩获nuSecnces自动驾驶公开数据集NDS最佳成绩

Geek_2d6073

2024内蒙古等保备案办理流程指引

行云管家

网络安全 等保备案 内蒙古

EMQX ECP + NeuronEX 产品发布会:从边到云的实时工业互联数据平台

EMQ映云科技

mqtt mqtt broker

【堡垒机】企业购买堡垒机的七大需求你知道吗?

行云管家

网络安全 数据安全 堡垒机

利用RAG技术打破大模型幻觉

百度开发者中心

人工智能 图谱 大模型

OmniReader Pro for mac(专业电子书阅读器) v2.8.1激活版

iMac小白

Snagit for mac(最强大的屏幕截图软件) v2024.2.2中文版

iMac小白

数字人应用场景:数字人成为电商主播!

青否数字人

Ollama:打造本地开源大模型聊天应用的实践

百度开发者中心

人工智能 大模型 openai

Partisia区块链推出MOCCA方案,让资产管理更加可信化且可编程

威廉META

Photoshop 2024 for mac(ps 2024) v25.5.1中文激活版

iMac小白

Downie 4 for Mac(视频下载工具)兼容14系统 v4.7.6中文版

iMac小白

敏捷开发最佳实践:质量维度实践案例之接口级自动化测试

PingCode

敏捷开发 敏捷实践

敏捷开发最佳实践:客户价值实践案例——用户画像的应用

PingCode

敏捷开发 敏捷实践

After Effects 2024 for Mac(AE2024视频特效) v24.2.1中文激活版

iMac小白

Lightroom Classic 2024 for Mac(LRC2024) v13.1.0中文激活版

iMac小白

ai绘画免费图生图!一键生成免费可商用图片。

彭宏豪95

人工智能 办公软件 AIGC AI绘画 效率软件

Java & Go泛型对比

FunTester

挖掘M2 Pro 32G UMA内存潜力:在Mac上本地运行清华大模型ChatGLM2-6B

百度开发者中心

人工智能 自然语言处理 LLM 语言生成

Mistral AI vs. Meta:两大 Top 开源模型的对比

Baihai IDP

程序员 AI LLM 白海科技 Baihai IDP

微信多开 WechatTweak for Mac(微信多开、消息防撤回工具) v3.8.7(28245)中文集成版

iMac小白

深度解读:商品计划管理系统为鞋服企业带来的卓越价值

第七在线

度小满与哈工大共同推出SmartTrim,自适应剪枝技术提升多模态大模型效率

科技热闻

软通咨询杨念农:数智赋能物流行业高速发展,开启数智化物流新时代

软通咨询

人工智能 数字化转型 #物流 数字化咨询 数智化物流

【论文速读】| 增强静态分析以实现实用漏洞检测:一种集成大语言模型的方法

云起无垠

快速上手App自动化测试利器,Toast原理解析及操作实例

霍格沃兹测试开发学社

Acrobat Pro DC 2023 for mac(专业PDF编辑软件)

iMac小白

EndNote 21 for Mac(文献管理软件) v21.2激活版

iMac小白

Termius for Mac(多协议远程管理软件) 8.4.0激活版

iMac小白

敏捷开发最佳实践:学习与改进维度实践案例之会诊式培养敏捷教练

PingCode

敏捷开发 敏捷实践

Shellshock漏洞证明是时候放弃CGI技术了_语言 & 开发_曹知渊_InfoQ精选文章