大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了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并非必须条件
感谢你能够认真阅读完这篇文章,希望小编分享的“bash漏洞复现的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!