User Tools

Site Tools


ja:rule:fle:シンボリックリンクを検証する

This is an old revision of the document!


シンボリックリンクを検証する

ファイルシステムを利用した攻撃手法にシンボリックリンクを利用した手法がある。このためアクセスしているファイルがファイルそのものなのか、シンボリックリンクなのか、検証しなければならない。

攻撃例:/tmp/myfileが/home/victim/.bashrcへのシンボリックリンクだった場合、書き込みを許可すると不正な読み書きを許可してしまう。

非適合コード例

検証なしのファイルアクセス

$data = file_get_contents('/tmp/myfile');

適合コード例

実体ファイルであることを検証

if (readlink('/tmp/myfile') !== FALSE) {
    throw new Exception('Symlink is not allowed');
}
 
$data = file_get_contents('/tmp/myfile');

例外

[ルール/推奨事項の例外]

リスク評価

[ルール/推奨事項のリスク評価]

[評価例 - 英語表記に統一]

Rule Severity Likelihood Remediation Cost Priority Level
IDS05-J medium unlikely medium P4 L3

関連ガイドライン

参考文献

ja/rule/fle/シンボリックリンクを検証する.1509011406.txt.gz · Last modified: 2017/10/26 09:50 by yohgaki

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki