2016-04-10 7 views
0

Webサーバーでペンテストを試験のタスクの1つとして実行しています。無制限のファイルアップロードの脆弱性(https://www.owasp.org/index.php/Unrestricted_File_Upload)を利用した後、 Webサーバ、および私はこのエラーを取得しています:open_basedirの制限が期待どおりに機能していません

Warning: scandir(): open_basedir restriction in effect. File(C:\inetpub\sitesdata\mysite.com\SESSIONS\USERS) is not within the allowed path(s): (C:\inetpub\vhosts\mysite.com\subdomains\me\httpdocs;C:\inetpub\sitesdata\mysite.com\SESSIONS\USERS) in C:\inetpub\vhosts\mysite.com\subdomains\me\httpdocs\ticketAttachments\4b3519fbe17e82993e76927e5f253e33\hack.php 

パスは(私はそれがすべてのユーザーセッションを盗むために、試験で次の作業のポイントだったと思います)許可のパスに実際にあることに注意してください。

サーバーにアクセスできないため、サーバーの設定を変更できません。そのC:\inetpub\sitesdata\mysite.com\SESSIONS\USERSフォルダに格納されているすべてのsess_ *ファイルのみを取得する必要があります。私は許さパスに他のパスにアクセスしようとしていると、それは同じだ

<pre style="text-align:left"> 
    <?php 
     $files = scandir($_GET['path']); 
     foreach ($files as $file) { 
      echo $file; 
      echo "\n"; 
     } 
    ?> 
</pre> 

これらは私のhack.phpファイルの内容です。 しかし、奇妙なことは、私がC:\inetpub\vhosts\mysite.com\subdomains\me\httpdocs\ticketAttachmentsの内容を読むことができますが、実際に許可されているパスにあるC:\inetpub\vhosts\mysite.com\subdomains\me\httpdocsの内容を読むことができないということです。

ここで何か問題がありますか?

+0

FWIWのように、 'function($ _ GET [" foo "]);;は非常に安全ではない可能性があります。値を変数にしてそれを浄化し、浄化された値を渡してから、再びセキュリティについて話を始める。 – Smar

+1

@Smarそれがコードの一部だったなら、私は完全に同意します。しかし、そのファイルは悪用されており、安全であることは意図されていません。私は、Webサイトにアクセスする悪意のある試みとしてそこに植えましたが、それは安全でないと悪用されることを意図しています。 –

+0

私はこれがWindows上のPHPのためのWindowsタグを追加しました。そして、PHPについて話しているときにLinuxとWindowsの間に違いがあることがよくありますが、basedirがそれらの1つだったとしても驚かないでしょう。あなたがそこにいてはいけないと感じたら、タグを削除してください。 Windowsのファイルパーミッションもありますが、これも影響しますか? – Smar

答えて

0

これは単純なタイプミスです。

You want to access:   C:\inetpub\sitesdata\mysite.com\SESSIONS\USERS 
The allowed path contains: C:\inetpub\sitesdata\mysites.com\SESSIONS\USERS 

「s」がないことに注意してください。

+0

ああ申し訳ありませんが、ここで質問を入力している間にタイプミスを犯しました。 –

+0

@NenadPavicevic本当ですか?コピーされて貼り付けられたエラーメッセージのようです。あなたがすべてそれを打ち込んだら私が驚くでしょう。 – Chris

+0

いいえ、私はサイト名を変更しました。誤解をおかけして申し訳ありません。 –