ファイルのインクルード(ファイル含みます)
ファイルインクルージョン、()(、()などが必要です()とのinclude_once()、require_onceを)ファイルが(抜け穴)、サーバはallow_url_includeをオプションになっている場合、あなたには、いくつかの動特性のPHPの機能を通過したURLを使用できることを意味が含まれていることを意味ファイルを含め、ソースファイルの重大な検査が存在しない場合、この時点で、それは任意のファイルを読んだり、任意のコマンドを実行します。ファイルにローカルおよびリモートファイルインクルージョンの脆弱性に分け、ファイルインクルージョンの脆弱性は、脆弱性が存在し、リモートファイルインクルージョンの脆弱性は、(オプションがオンになった後、サーバはファイルがリモートが含まれていることができます)PHPの設定allow_url_fopenをオプションをオープンする予定です。
LOW:
ソースコードを表示します。
小切手を持つ任意のフィルタパラメータをしないページのサーバ側で見ることができます。
サーバーは、ユーザーの操作は、次の三つのリンク上で、適切なファイルが含まれているサーバーをクリックで期待して、結果を返します。特に注目すべきなのではない場合、ファイルが含まれているサーバは、関係なく、ファイルの拡張子は、PHPであるかどうかの、ファイル内容のphpが実際に、正常に実行し、結果を返している場合は、PHPファイルとして実行しようとしたときに、それがそのまま印刷されるということですファイルの内容は、ファイルは脆弱性が、多くの場合、任意のファイルの読み込みにつながり、任意のコマンドを実行含まれています。
file1.phpをクリックします
しかし、現実には、悪意のある攻撃者がこれらのリンクをクリックしていいではないので、ページパラメータは、制御可能ではありません。
ファイルがgxy.phpが含まれている場合、我々は存在しません。
私たちは、与えたエラーが発生した、参照、およびサイトのパスを公開することができます
新1.TXTフォルダのURL Cディスクのテストでは、dvwaインターフェイスを変更
首尾よく読むには
中
あなたが中レベルのコードがstr_replace関数、「HTTP://」処理の一定量のためのページのパラメータを増加させ、見ることができ、「https://で」、「../」、「.. \」に置き換えていますヌル文字が削除されます。
あなたは二重置換規則バイパスに書き込むことができます
例如page=hthttp://tp://192.168.27.156 /1.txt时,str_replace函数会将http://删除,于是page=http:// 192.168.27.156 /1.txt ,成功执行远程命令。
同时,因为替换的只是“../”、“..\”,所以对采用绝对路径的方式包含文件是不会受到任何限制的。
192.168.27.156/dvwa/vulnerabilities/fi/?page=hthttp://tp://192.168.27.156/shell.php
我这儿是没有shell.php
High
可以看到,High级别的代码使用了fnmatch函数检查page参数,要求page参数的开头必须是file,服务器才会去包含相应的文件
可以利用file协议绕过防护策略
192.168.27.156/dvwa/vulnerabilities/fi/?page=file:///C:/phpStudy/PHPTutorial/WWW/dvwa/php.ini
成功读取了服务器的配置文件
至于执行任意命令,需要配合文件上传漏洞利用。首先需要上传一个内容为php的文件,然后再利用file协议去包含上传文件(需要知道上传文件的绝对路径),从而实现任意命令执行。