首页 > 代码库 > 关于AfterShock–CVE-2014-7169 测试脚本的解释
关于AfterShock–CVE-2014-7169 测试脚本的解释
脚本的解析
env X=‘() { (a)=>\‘ sh -c "echo date"; cat echo
(1)
X=‘() { (a)=>\’ 这个不用说了,定义一个X的环境变量。但是,这个函数不完整啊,是的,这是故意的。另外你一定要注意,\’不是为了单引号的转义,X这个变量的值就是 () { (a)=>\
(2)
其中的 (a)=这个东西目的就是为了让bash的解释器出错(语法错误)
(3)
语法出错后,在缓冲区中就会只剩下了 “>\”这两个字符
(4)
于是,这个神奇的bash会把后面的命令echo date换个行放到这个缓冲区中,然后执行
(5)
后面的 cat echo是查看文件echo的内容
(6)
执行相当于 >\
其中的 \ 在Shell中相当于换行
(7)
相当于 >echo date
(8)重定向(在Shell中 >A B 相当于 B > A)
相当于 date > echo 生成echo文件
(9)结束
关于AfterShock–CVE-2014-7169 测试脚本的解释
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。