zah*_*eel 3 unix linux bash ubuntu shellshock-bash-bug
我在理解以下代码时遇到了问题,这是Shell Shock的"漏洞证明"代码.有人可以向我解释一下吗?特别是这部分" () { :;};"
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Run Code Online (Sandbox Code Playgroud)
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
是什么env呢?
从文档中,env在修改后的环境中运行程序
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]
它清楚这x是一个名称/变量,() { :;}; echo vulnerable'是变量的值
现在是什么() { :;};?
导出函数时,bash将其defenition存储为环境变量的值
$ x() {echo hello world;}
$ export x
$ env | grep x
x=() {echo hello world};
Run Code Online (Sandbox Code Playgroud)
现在当x='() {:;}'意思与写作类似
$ x() {:;}
$ export x
$ env | grep x
Run Code Online (Sandbox Code Playgroud)
这是我们间接作出export x到由创建的新environmnet env
下面:是在bash一个空语句
希望能帮助到你
| 归档时间: |
|
| 查看次数: |
585 次 |
| 最近记录: |