ホームページ  >  記事  >  バックエンド開発  >  注意が必要な PHP のいくつかの脆弱性のまとめ_PHP チュートリアル

注意が必要な PHP のいくつかの脆弱性のまとめ_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:20:45721ブラウズ

注意すべきいくつかの PHP の抜け穴
いくつかの重要な php.ini オプション
グローバルの登録
php>=4.2.0、php.ini の register_globals オプションのデフォルト値は、 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 を Flase に初期化し、 register_globals が On の場合は、 http://www.sectop.com/ex1.php?is_admin=true を直接送信して check_admin() の検証をバイパスします
例 2:


コードをコピーします

コードは次のとおりです:
//ex2.php if (isset($_SESSION["username"]))
{
do_something()
}
else
{
echo "まだログインしていません!";
}
?>





コードをコピー

コードは次のとおりです:
//ex1.php $dir = $_GET["dir "];
if (isset($dir))
{
echo "";
system("ls -al ".$dir);
echo "";
}
?>




mixed eval (string code_str) //eval注入は通常、攻撃者が入力文字列を制御できるときに発生します
//ex2.php


コードをコピー

コードは次のとおりです:
$var = "var"; if (isset($_GET["arg"])) {
$arg = $ _GET["arg"];
echo "$var =".$ var;
}
?>







http://www.bkjia.com/PHPjc/325020.html

www.bkjia.com

tru​​e

技術記事注意すべきいくつかの PHP の脆弱性といくつかの重要な php.ini オプション Register Globals php=4.2.0。 php.ini の register_globals オプションのデフォルト値は、 register_globals が On に設定されている場合、プロセスは...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。