分かりやすく図解で解説2019年11月20日ディレクトリトラバーサルって知っているかな?外部からファイル名を指定できるアプリケーションに対し「相対パス」等でファイル名を指定し、データを盗み取る攻撃のことですよね。本記事では「ディレクトリトラバーサル」分かりやすく説明していきます。Webサーバ内のファイルには適切な権限をつけるディレクトリトラバーサルとはディレクトリトラバーサルとは、Webサイトからファイル名を直接指定するようなWebアプリケーションに対して、ファイル名を不正に書き換え、本来閲覧することができないファイルにアクセスする攻撃です。以下のようなWebアプリケーションが存在するとします。Webサーバには、以下の2つのファイルが存在。:機密情報で公開していないファイルそしてURLに「https://〇〇.co.jp/?file=sample.txt」とファイル名を指定することで、Webサーバにある「sample.txt」ファイルの内容を閲覧することを可能とします。ここで「悪意のある攻撃者」がURLを書き換えたらどうなるのでしょうか。以下の図では、URLを「https://〇〇.co.jp/?file=../pass/password.txt」に書き換えています。正常時はURLに「file=sample.txt」とsample.txtのファイルを指定していました。今回は「file=../pass/password.txt」と相対パスでpassword.txtを指定しています。このように相対パスで指定することで意図しないファイル/home/pass/password.txtにアクセスしています。結果「悪意のある攻撃者」は、Webサーバにある「password.txt」ファイルの内容を閲覧することに成功しています。パラメータでWebサーバ内のファイル名を指定している場合も同じです。パラメータを「改ざん」することで上記の例と同じ動作となります。メモ相対パスとは、現在の場所を基準に目的地を指定する手法です。上記の例では現在の場所が「/home/work/」です。「../pass/password.txt」と相対パスで書くことでpassword.txtに辿り着きます。※「../」は1つ上の階層に戻るという意味ディレクトリトラバーサル対策スポンサーリンク外部からのパラメータでWebサーバ内のファイル名を直接指定しない外部からのパラメータでWebサーバ内のファイル名を直接指定している場合、パラメータを「改ざん」されると意図しないファイルにアクセスされる危険性があります。基本的に外部からのパラメータでWebサーバ内のファイル名を直接指定するような実装は避けるべきです。ファイルを公開するディレクトリは固定し、ファイル名にディレクトリを含まれないようにする外部からのパラメータでWebサーバ内のファイル名を直接指定している場合、「絶対パス」や「相対パス」で指定されると意図しないファイルにアクセスされる危険性があります。外部からパラメータはファイル名だけを取得(ディレクトリが含まれていたら取り除く)するようにして、公開しているディレクトリ以外にアクセスされないようにしましょう。Webサーバ内のファイルには適切な権限をつけるディレクトリトラバーサルで意図していないファイルにアクセスされたとしても、ファイルに適切な権限が付与されていれば、閲覧されることはありません。Webサーバ内のディレクトリやファイルには適切な権限をつけることが大切です。コメントをキャンセルメールアドレスが公開されることはありません。Webサイトに透明な罠ページを隠してクリックを誘導する攻撃ですよね。本記事では「クリックジャッキング」について分かりやすく説明していきます。AFFINGER5.。