首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法利用所有文件的files休克漏洞

无法利用所有文件的files休克漏洞
EN

Stack Overflow用户
提问于 2015-11-15 21:44:14
回答 1查看 1.5K关注 0票数 2

我一直试图利用我的系统中的Shell休克漏洞,并遇到了一个有趣的问题。我一直在使用'wget‘来利用这个漏洞。我使用的命令如下:

代码语言:javascript
复制
wget -U "() { test;};echo \"Content-type: text/plain\"; echo; echo; /bin/cat /etc/passwd" http://somesite.com/some-script.cgi

使用上面的命令,该漏洞将如预期的那样显示。但是,当我尝试获取一个不是.cgi文件的文件时,该漏洞将不会出现,并且只会下载该文件。

据我所知,wget应该将用户代理字符串设置为在命令中传递的值,该值应该运行代码/bin/cat /etc/passwd,而我不知道这与下载的文件的性质有什么关系。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-16 00:19:40

为了利用谢尔休克虫,需要执行以下步骤:

  1. 必须让目标服务器将特定的字符串注入到环境变量中,并且
  2. 设置环境变量后,目标必须(直接或间接)启动( bash外壳的易受攻击版本)。

当web服务器通过通用网关接口执行外部程序时,外部程序要么是bash脚本,要么调用bash。这是因为CGI协议指定来自原始HTTP请求的标头在具有前缀HTTP_的环境变量中传递给外部程序(例如,用户代理头的HTTP_USER_AGENT )。由于攻击者可以控制这些标头,它们也可以直接控制这些环境变量的值。

但是,web服务器只需要在通过CGI调用外部程序时设置这些环境变量。在传递静态文件时,服务器只需从磁盘读取该文件并将其发送回客户端;它不需要设置任何环境变量或调用任何外部工具(如bash )。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33725467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档