PHP逆引き大全 516の極意

セキュアプログラミングの極意 - Tips465 コマンド実行関数の危険性と対策を理解する

登録タグ
PHP
Icon comment count 0
Icon stock count 0

7-8その他のセキュリティTips465 コマンド実行関数の危険性と対策を理解する

Level1

PointOSコマンド実行処理に潜む脆弱性に注意する

コマンドインジェクションとは、その名の通り、OSが用意しているコマンドを外部から注入する攻撃です。

例えば、下記のようなコードがあったとします。

<?php
  //検索キーワードをログ出力する
  system("echo '{$_REQUEST["keyword"]' >> keywords.log");
?>

echoはここではPHPの関数ではなく、Unix系OSのコマンドです。例えば$_REQUEST["keyword"]
が「iphone」だった場合、

echo 'iphone' >> keywords.log

というコマンドが実行されることになります。一見問題はなさそうですが、悪意のあるユーザが、$_REQUEST["keyword"]として、下記を入力したとします。

TEST' && cat /etc/passwd #

結果、下記のコマンドがサーバ側で実行されることになります。

echo 'TEST' 

出典情報

Medium

PHP逆引き大全 516の極意

  • 著者: 大家 正登, 茂木 健一, 鮫島 康浩, 谷中 志織

コメント

    コメントはありません