skillup

技術ブログ

サーバー・ネットワーク プログラミング全般

OSコマンドインジェクション

投稿日:

OSコマンドインジェクションとは?

OSに対する命令文を不正に紛れ込ませて攻撃させる手法。

被害

  • サーバー内のファイルの閲覧、改ざん、削除
  • 不正なシステム操作
  • 不正なプログラムのダウンロード
  • 他システムへの攻撃

対策

  • シェルを起動できる言語機能の利用を避ける 例 Perlのopen関数など。
  • 使う場合はライブラリを使う、コマンドラインの中に変数を埋め込まないなどの対策をとる。
  • シェルを起動できる言語機能を使用する場合は引数を構成するすべての変数でチェックを行い、許可した処理のみ実行する。

参考リンク

安全なウェブサイトの作り方

http://senmon.cfc.ac.jp/studentreport/report2/OS.html

-サーバー・ネットワーク, プログラミング全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

コメントについて

リーダブルコード 第5・6章はコメントについて。 今回はコメントです。ここは結構賛否両論になるところではないかと思います。 ざっくり分けると「できるだけコメントは詳しく書くこと」という意見と「コメント …

no image

キャッシュについて(主にmemcachedを中心に)

Webサービスのパフォーマンス向上で目に見えて効果があることの一つがDBへのアクセス回数を減らすことです。 それはSQLを発行する回数を少なくするなど、普段からのプログラムの書き方ももちろん大事なので …

no image

命名規則について その2

リーダブルコードネタ第3段。 前回のエントリーに引き続き、名称の大切さについて Contents1 あいまいな名前はNG!1.1 限界値はmaxかminを使う1.2 範囲を指定するときはfirstとl …

no image

ansible template,tag,yeditなど

Contents1 template2 tags3 yedit template 今まで設定ファイルを使うときは基本ini_fileを使って置換したり、ローカルでファイルを作ってcopyしておりました …

no image

オブジェクト指向 ドメインモデル

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日は主にドメインモデルの考え方について。 Contents1 ドメインモデルの考え方1.1 要点1.2 感想 ドメインモデルの考え …