Shikata Ga Nai

Private? There is no such things.

Directory traversal in PDF viewing application. Leading to full database takeoverを訳してみた

Hello there, ('ω')ノ

 

PDF 表示アプリケーションでのディレクトリ トラバーサル

データベースの完全乗っ取りにつながるを。

 

脆弱性:

 パストラバーサル

 

記事:

 https://medium.com/@wrinnsec/directory-traversal-in-pdf-viewing-application-leading-to-full-database-takeover-376e68eadd86

 

今回は、アクティブ会員数 50,000 人の英語個別指導サイトで。

subfind3rを使用してサブドメインの列挙から始めましたが、

多くのサブドメインが見つからず。

そして、見つかったサブドメインはあまり興味深いものではなくて。

 

waybackurls を使用して URL 偵察を行うことにして。

結果は非常に興味深いもので。

IDOR 脆弱性を見つけることができる可能性のある興味深いパラメータを持つ

PHP Web アプリが多数あることに気付き。

特に非常に興味深いと思われる php Web アプリを 1 つ見つけて。

 

 https://redacted.org/program/pdf/pdf_install.php?filename=sample.pdf

 

パラメータのエントリを PDF ファイル以外のものに変更したら

どうなるだろうかと考え始め。

そこで、「sample.pdf」の代わりに「index.php」と入力して。

 

 https://redacted.org/program/pdf/pdf_install.php?filename=index.php

 

驚いたことに、ダウンロードが開始されましたが、

ダウンロードしたファイルのサイズはわずか 251 バイトと小さく。

ファイルを開くと次のようになって。

 

警告: readfile(./index.php) [function.readfile]: ストリームを開けませんでした: /home/hosting_users/ languageweb/www/program/pdf/pdf_install.php の 10 行目にそのようなファイルまたはディレクトリはありません

 

これは php アプリケーション内のエラーであり、そのフォルダー内に

「index.php」ファイルが見つからなかったことが原因であると認識して。

それが唯一のエラーであれば、そのディレクトリから戻って

「index.php」ファイルを含むフォルダを見つけさえすれば、

それをダウンロードできるはずで。

理論をテストするために、後方ディレクトリ コマンド (「../」) を使用して

2 つのディレクトリを後方に移動して。

 

 redacted.org/program/pdf/pdf_install.php?filename=../../index.php

 

応答は、57.5 kb のファイルのダウンロードで成功して。


ディレクトリ/パス トラバーサルのエスカレーション:

サーバから必要なファイルをダウンロードできるようになり。

waybackurls からの完了したスキャンを使用すると、

調べるのに適したディレクトリが大量に得られ。

大量の .php 構成ファイルを提供する /mysql/ フォルダーを見つけることができ、

SMTP と MYSQL の両方の資格情報を取得することができて。

これにより、データベースが完全に乗っ取られ、

企業の電子メールがハイジャックされる可能性があって。

 

<?
$DBCONF[host] = "localhost";
$DBCONF[dbname] = "languageweb";
$DBCONF[user] = "REDACTED";
$DBCONF[passwd] = "REDACTED";
?>

*mysql認証情報ファイル

 

Best regards, (^^ゞ