ホームページ  >  記事  >  バックエンド開発  >  PHPの脆弱性を詳しく解説_PHPチュートリアル

PHPの脆弱性を詳しく解説_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:43:191308ブラウズ

いくつかの重要な php.ini オプション

グローバルを登録する

php>=4.2.0 では、php.ini の register_globals オプションのデフォルト値は Off です。 register_globals が On に設定されている場合、プログラムはフォームによって送信された変数を含むさまざまな環境変数をサーバーから受け取ることができます。 PHP は変数の値を事前に初期化する必要がないため、大きなセキュリティ リスクにつながります。

例1:

//check_admin() は、現在のユーザー権限を確認するために使用されます。admin が $is_admin 変数を true に設定した場合、この変数が true であるかどうかを判断し、いくつかの管理操作を実行します

//ex1.php

if (check_admin())

{

$is_admin = true;

}

if ($is_admin)

{

do_something();

}

?>

このコードでは、事前に $is_admin を False に初期化しません。 register_globals が On の場合、http://www.sectop.com/ex1.php?is_admin=true を直接送信することで、check_admin( )

例2:

//ex2.php

if (isset($_SESSION["ユーザー名"]))

{

do_something();

}

その他

{

echo "まだログインしていません!";

}

?>

//ex1.php

$dir = $_GET["dir"];

if (isset($dir))

{

エコー「

」 リーリー

」;

}

?>

mixed eval(string code_str) //eval インジェクションは通常、攻撃者が入力文字列を制御できる場合に発生します

//ex2.php

$var = "var";

if (isset($_GET["arg"]))

{

$arg = $_GET["arg"];

eval("$var = $arg;");

echo "$var =".$var;

}

?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486002.html技術記事いくつかの重要な php.ini オプション Register Globals php=4.2.0、php.ini の register_globals オプションのデフォルト値はデフォルトで Off です register_globals が On に設定されている場合、プログラムはサーバーからメッセージを受信できます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。