タイトルがすべてを物語っていると思います。ディレクトリトラバーサルとファイルインクルードの脆弱性の間に明らかな違いはないようです。
しかし、www.cvedetails.comでは次の分類を使用しているため、多少の違いがあると思います。
Bypass a restriction or similar
Cross Site Scripting
Denial of service
Directory Traversal
Execute arbitrary code on vulnerable system
Gain Privileges
Http Response Splitting
Memory Corruption
Obtain information
Overflow vulnerability (includes stack and heap based overflows and other overflows)
Cross site request forgery(CSRF)
File Inclusion
Sql Injection
これらの中で、ディレクトリトラバーサルとファイルインクルードの両方に気付くことができるため、何らかの形で異なる必要があります。
基本的に、ファイルインクルードの脆弱性があると、リソースが読み込まれ、現在のアプリケーションのコンテキストで実行されるになるという違いがあります。一方、ディレクトリトラバーサルの脆弱性では、リソースを読み取ることしかできません。
ファイルの例:
ファイルAは../../../../configure.php
ファイルBはindex.phpです
ディレクトリをトラバースしてファイルA(たとえば)にアクセスしてその内容を読み取ることができることと、ローカルでホストされているかリモートであるかにかかわらず、ファイルAのコンテンツを別のファイルのページ実行に含めることができることには違いがあります。 。
攻撃者がファイルAにアクセスできるようにするディレクトリトラバーサルが存在する場合、少なくともファイルの内容を読み取ることはできません。ただし、ファイルBに次の行がある場合(または同様の場合):
if ( isset( $_GET[ 'id' ] ) ) include( $_GET[ 'id' ] . ".php" );
次に、ファイルAのコンテンツをbase64エンコードに含め、ローカルファイルインクルージョン攻撃と呼ばれる方法でファイルBに含めることができます。
index.php?id=php://filter/read=convert.base64-encode/resource=../../../../config
それが違いを理解する方法です。
LFIとディレクトリトラバーサルの主な違いは次のとおりです。
[〜#〜] lfi [〜#〜]:ITにはファイルを実行する機能があります。システムに存在するシェルコードまたは他のローカルファイルである可能性があります
Directory Traversal:ファイルをトラバースするだけなので、読み取ることしかできません。ファイルを実行することはできません。これは機密情報開示の一種です
パストラバーサル(AKAドットドットスラッシュ):ドットドットスラッシュ攻撃(../)としても知られるこの攻撃は、通常、移動を許可する文字によって実行されますディレクトリツリーの上に。シーケンスの前に../を付けると、ファイルを選択するディレクトリよりも階層的に上位のディレクトリにアクセスできる場合があります。
ファイルの包含:この攻撃の脆弱性は、含めるファイルの場所に応じて、リモートとローカルに分けられます。この攻撃により、ローカル/リモートでファイルにアクセスして実行することができます。