1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ディレクトリトラバーサル

Posted at

ディレクトリトラバーサル

Webアプリケーションなどの脆弱性を突いて、本来はアクセスできないディレクトリ(ファイル)に不正アクセスすること。

脆弱性の突き方

http://example.comというwebがあったとします。
webを立ち上げたことがある人は理解していると思いますが、URLはディレクトリと同じ構造になっています。
例えば、http://example.com/imghttp://example.com/usersなど、そのディレクトリが存在していればアクセスすることができます。

しかし、それらのディレクトリが存在するかどうかはわかりません。ここで、代表的な辞書攻撃を紹介します。

GoBuster

用途は様々ありますが、今回はディレクトリを探す方法を記載します。

gobuster dir -u http://example.com/ -w /usr/share/wordlists/dirb/common.txt

これは、http://example.com/の直下にwordlistsをあてはめ、存在するディレクトリを探します。
詳しく知りたい方は、調べてください。沢山情報が出てきます。
もしここにユーザアカウント情報が格納されているディレクトリが存在すれば危険ですね。

他にも、自ら脆弱性を生み出す手法も存在します。

アップロードを悪用

例えば、http://example.comでファイルをアップロードでき、そのファイルはサニタイズされていないとします。
また、hogehoge.pngをアップロードしたとき、http://example.com/data/hogehoge.pngのように保存されるとします。

hogehoge.pngをアップロードしただけでは、何も起こりません。
しかし、その場で実行可能なファイルを作り、アップロード出来るしたらどうでしょうか。

hogehoge.php
<?php
echo "<pre>";
system("sudo ls -a /root");
echo "</pre>";
?>

正直な話、OSコマンドを操作できる権限をユーザに付与していることはめったにありませんが、条件が揃えば、上記のようなコマンドを実行できてしまいます。

メインとなるのは、system("sudo ls -a /root")です。
Linuxなどでおなじみのlsコマンドです。上記は/rootにあるファイルを一覧できます。
-a は.himitu.txtのような隠しファイルを表示させるためのオプションです。

system("sudo cat /root/.himitu.txt")とすれば、.himitu.txtの内容を表示することができます。

まとめ

webアプリケーションの脆弱性を突いた攻撃の紹介でした。
悪用禁止でs

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?