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
の内容を読むことができないということです。
ここで何か問題がありますか?
FWIWのように、 'function($ _ GET [" foo "]);;は非常に安全ではない可能性があります。値を変数にしてそれを浄化し、浄化された値を渡してから、再びセキュリティについて話を始める。 – Smar
@Smarそれがコードの一部だったなら、私は完全に同意します。しかし、そのファイルは悪用されており、安全であることは意図されていません。私は、Webサイトにアクセスする悪意のある試みとしてそこに植えましたが、それは安全でないと悪用されることを意図しています。 –
私はこれがWindows上のPHPのためのWindowsタグを追加しました。そして、PHPについて話しているときにLinuxとWindowsの間に違いがあることがよくありますが、basedirがそれらの1つだったとしても驚かないでしょう。あなたがそこにいてはいけないと感じたら、タグを削除してください。 Windowsのファイルパーミッションもありますが、これも影響しますか? – Smar