検索
連載

Webアプリケーションの脆弱性を総括するWebアプリケーションに潜むセキュリティホール(14)(3/5 ページ)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

Path Traversal

 指定されたディレクトリの外にあるファイルを読み込ませる攻撃である。WebブラウザからのURL指定によるアクセスはDocumentRootで指定されたディレクトリよりも上にあるファイルにはアクセスできないが、Webアプリケーションでは通常どのファイルにもアクセスできる。これを利用して、Webアプリケーションに「../../../etc/passwd」のようなパラメータを渡すことで、不正にアクセスする攻撃である。

脆弱性が存在する可能性がある個所

 URLパラメータで明示的に指定されたファイルを表示するアプリケーションが主なものだろう。これは、第1回「サーバのファイルが丸見え?!」で紹介したアプリケーションである。

html.cgi?file=aboutme

上記のように指定するとaboutme.htmlというファイルを読み込んで表示する仕様である。このような作りであってもfileの値としてファイル名以外は指定できなくなっていれば問題は発生しない。

対策

  • 入力チェック

前述したように想定している文字以外は受け付けないようにする。ファイルを表示するだけのアプリケーションであれば英数字だけを受け付けるようにすれば、ほぼ問題ないだろう。

言語別の対策例

 特に言語に依存するものでもないためperlの例だけを示しておこう。

perl

# 入力チェック(ファイル名は、英数字のみ)
if($file =~ /^[0-9a-zA-Z]+$/){
 # ok
}else{
 
# ng
} 

バックドアとデバッグオプション

 バックドアは開発者が不正に作り込んだ裏口、デバッグオプションは開発時のデバッグ用のコードがそのまま残ってしまっているものである。バックドアに関しては発見するのはかなり難しいが、デバッグオプションについては後述する「クライアント側コメント」によって発見されることがある。

脆弱性が存在する可能性がある個所

 完全に開発者に依存するため推測は不可能である。使途不明のパラメータが存在する場合、この脆弱性が隠れている可能性がある。

対策

 コーディングで防げるものではない。開発段階でのソースコードチェックなどで見つけ出すしかないのではないかと思う。

言語別の対策例

 言語に依存する脆弱性ではない。

Copyright © ITmedia, Inc. All Rights Reserved.

Security & Trust 記事ランキング

  1. ランサムウェア攻撃を受けた企業、約6割が「サプライチェーンのパートナー経由で影響を受けた」 OpenText調査
  2. インサイダーが原因の情報漏えいを経験した国内企業が約3割の今、対策における「責任の所在」の誤解とは
  3. 長続きする高度セキュリティ人材育成の秘訣を「第19回情報危機管理コンテスト」から探る
  4. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  5. OpenAIの生成AIを悪用していた脅威アクターとは? OpenAIが脅威レポートの最新版を公開
  6. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  7. 約9割の経営層が「ランサムウェアは危ない」と認識、だが約4割は「問題解決は自分の役割ではない」と考えている Vade調査
  8. セキュリティ専門家も「何かがおかしいけれど、攻撃とは言い切れない」と判断に迷う現象が急増 EGセキュアソリューションズ
  9. セキュリティ担当者の54%が「脅威検知ツールのせいで仕事が増える」と回答、懸念の正体とは? Vectra AI調査
  10. 人命を盾にする医療機関へのランサムウェア攻撃、身代金の平均支払額や損失額は? 主な手口と有効な対策とは? Microsoftがレポート
ページトップに戻る