bash漏洞复现的示例分析
Bourne Again Shell(简称BASH)是在GNU/Linux上最流行的SHELL实现,于1980年诞生,经过了几十年的进化从一个简单的终端命令行解释器演变成了和GNU系统深度整合的多功能接口。
Bash,Unix shell的一种。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell。它也被移植到Microsoft Windows上的Cygwin与MinGW,或是可以在MS-DOS上使用的DJGPP项目。在Novell NetWare与Android上也有移植。
目前的Bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题的是以”(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行未退出,而是继续解析并执行shell命令,而其核心的原因在于在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断。
本文仅作漏洞复现记录与实现,利用流程如下:
1.漏洞环境
链接:http://192.168.101.152:8080/victim.cgi
2.漏洞payload
() { :; }; echo; /bin/cat /etc/passwd
理论上,可以在HTTP请求中注入一个Bash命令,进行远程命令执行
3.利用流程
访问目标
将User-Agent值替换为payload,即可执行命令
User-Agent并非必须条件
<br>
以上是bash漏洞复现的示例分析的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

适用于 Linux 的 Windows 子系统第一种选择是使用适用于 Linux 或 WSL 的 Windows 子系统,这是一个兼容层,用于在 Windows 系统上本地运行 Linux 二进制可执行文件。它适用于大多数场景,允许您在 Windows 11/10 中运行 shell 脚本。WSL 不会自动可用,因此您必须通过 Windows 设备的开发人员设置启用它。您可以通过转到设置 > 更新和安全 > 对于开发人员来完成。切换到开发人员模式并通过选择是确认提示。接下来,查找 W

今年初,当Microsoft和Canonical发布Windows10Bash和Ubuntu用户空间,我尝试做了一些初步性能测试UbuntuonWindows10对比原生Ubuntu,这次我发布更多的,关于原生纯净的Ubuntu和基于Windows10的基准对比。Windows的Linux子系统测试完成了所有测试,并随着Windows10周年更新放出。默认的Ubuntu用户空间还是Ubuntu14.04,但是已经可以升级到16.04。所以测试首先在14.04测试,完成后将系统升级升级到16.04

程序员经常使用Bash命令语言创建Shell脚本来自动化手动任务。例如,他们会为各种配置、文件操作、生成构建结果和各种与DevOps相关的活动创建Bash脚本。几乎所有类Unix或基于Unix的操作系统都为用户提供预安装的Bash解释器,因此我们可以使用Bash编写更具可移植性的自动化脚本。正如我们已经知道的那样,Bash脚本编写是指使用Bash命令语言的语法、内置Bash命令和核心操作系统CLI程序(如GNU核心工具)编写一系列命令。标准且老式的Bash脚本通常执行一些命令并在终端上显示纯文本

这里我们将看到如何使用bash脚本获得数字A的B次方。逻辑很简单。我们必须使用“**”运算符或幂运算符来执行此操作。让我们看下面的程序来清楚地理解这个概念。示例#!/bin/bash#GNUbashScripta=5b=6echo"$(($a**$b))"输出15625

BourneAgainShell(简称BASH)是在GNU/Linux上最流行的SHELL实现,于1980年诞生,经过了几十年的进化从一个简单的终端命令行解释器演变成了和GNU系统深度整合的多功能接口。Bash,Unixshell的一种。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与MacOSXv10.4都将它作为默认shell。它也被移植到MicrosoftWindows上的Cygwin与MinGW,或是可以在MS-

上周微软宣布了BugBash,这是一项旨在吸引Windows内部人员完成任务(希望如此)以在长期和短期内改善Windows11开发的活动。最初在3月16日,大约有26个任务可供完成,但现在已经增长到了惊人的75个。不过,更重要的是:BugBash将于3月22日结束,同时还有机会获得BugBash特定贴纸这将出现在您的反馈中心。要参加Windows11BugBash,您需要从Dev频道获得最新的Windows11预览版本,即build2

当计算机显示器的调色板有限时,网页设计师通常使用一组Web安全颜色来创建网站。虽然在较新设备上显示的现代网站可以显示比最初的Web安全调色板更多的颜色,但我有时喜欢在创建网页时参考Web安全颜色。这样我就知道我的网页在任何地方都看起来不错。你可以在网上找到Web安全调色板,但我想拥有自己的副本以方便参考。你也可以使用Bash中的for循环创建一个。Bashfor循环Bash中的for循环的语法如下所示:for变量in集合;do语句;done例如,假设你想打印从1到3的所有数字。你可以快速在Bas

拥有扎实的编程基础显然是一位优秀软件工程师的必备素质。无论是像Python这样的解释型语言,还是像C++这样的编译型语言,至少掌握一门编程语言至关重要。然而,这只是成为一个真正全面发展的工程师的一个方面。如果你在Shell环境下迷失方向,那些基础知识也就毫无用处了。在Bash中灵活运用命令将带你到达传统编程语言无法触及的领域。有时候,你实际上并不需要使用更强大的编程语言。通过仅仅使用Shell,你可以更快、更轻松地完成所需任务,而且不需要额外的依赖。在本文中,我们将探讨一些非常实用的Bash命令
