2019年11月13日:任意のコードの実行、学習、ノート

/ tmp /またはあなたは、ウィンドウ、などphpstudyでは/ var / libに/ PHP5 /位置を、使用している場合、phpstudy \ \ TMP \下のTMP PHPTutorial、新しいバージョンのphpstudy_pro \拡張\ TMP \ tmpにファイルの一般的な場所のLinuxのセッション

phpmyadminの任意のファイルには、CVE-2014から8959、抜け穴が含まれている
脆弱性4.1.1-4.1.14.7 4.2.1-4.2.12範囲4.0.1-4.0.10.6
http://127.0.0.1/phpmyadmin4/gis_data_editor.php?token= 002b368c387963db9fbd71e3ef38310b&gis_data [gis_type] = / .. / .. / .. / 2.JPG%00、 そして自分のトークンにログイン得られる、gis_data [gis_type] = .. / .. / .. / 2.JPGは、 すでにアップロードされましたルートディレクトリに成功した絵馬.. /ジャンプ

ファイルは、脆弱性の防御含ま
バック追加する、含めることができ、特定のディレクトリの1、修正PHPのプロファイル設定値open_basedirのを/、例えばopen_basedirの=の/ var / WWW / HTML
2、クローズ含むリモートファイル防ぐために、allow_url_fopenをしてallow_url_includeを可能
3を、ファイルディレクトリは、単一の明るい白を使用することができる、あるいはopen_basedirのようなセットを含むことができる、制限を含んでいてもよい
。4、厳格な検査、パラメータ値は、同様に、シンボルディレクトリをジャンプすることが許可されていない../

コマンドが実行される脆弱性、日々のネットワークアクセス、私たちはしばしば、Webサイトの一部は、システムコマンドを実行する機能を有する参照、例えば:いくつかのサイトがping機能を提供し、我々はIPアドレスを入力することができ、それがpingにしようとする私たちを助けますターゲットのIPアドレス、我々は結果を見ることができます。ユーザーがサイトの意思に従わない場合は、慎重に構築された入力指示にしようと、それ自体が機能論理が生じる可能性がありますサイトは、悪質なコマンドを実行できるように先のサイトにつながる、逆転しました。

コマンドが実行される脆弱性フリー
ウェブ層のコマンドコード、EXEC(「WHOAMI」);
サードパーティコンポーネントのコマンドが実行される脆弱性、ワードプレスImageMagickのアセンブリ画像を処理するため、JAVAコマンドインジェクション脆弱性(Struts2の/ ElasticsearchGroovy等)、vBulletinによって5クアルコムの.Xバージョンはリモートでコードが実行さ殺す
システムレベルのコマンドが実行される脆弱性、MS08-067、bashの破壊シェルの脆弱性を

ユーザが実行すべきコマンドとしてコンテンツ入力されたユーザ入力を制御することができる2つの理由のために生成されたコマンドインジェクション脆弱性、

一般的な機能を実行し
、 ``反転出力アポストロフィシェルと結果を返します。
システム()と最後のシェル結果の出力線を返します。
パススルー()標準出力デバイスに直接ようにのみコマンド、コマンド出力の演算結果を呼び出します。同じポイント:あなたがコマンド実行ステータスコードを取得することができ
戻すように出力シェル環境、および完全な文字列経由もしくはshell_exec()の実行を
EXEC()は、出力結果をしません、最後の行のシェル結果への復帰、すべての結果は、Aに保存することができますアレイ内部を返します。
popenの()
は、proc_open()
pcntl_exec()

コマンド権限、コマンドインジェクションの脆弱性権は約実行しているWebミドルウェアを害します。Webアプリケーションは、Webミドルウェア上で動作しているため、Webアプリケーション「継承」のWebミドルウェアを実行する許可そう。Webアプリケーションの実行コマンドインジェクションの脆弱性が管理者として実行しているWebミドルウェア上に存在する場合は、コマンドを実行するために同等のウェブ管理者権限経由でコマンドを実行します。

複数のコマンドの構文の下に窓
コマンド1&オーダー2にかかわらず、コマンド1が正常に実行されたかどうかの、ラン2コマンド1を実行し
、コマンド1を実行し、コマンド1 &&コマンド2、コマンドのみ1が正常に実行され、コマンドを実行します2
コマンドコマンド1 || 2、1のみ1コマンドは、コマンド2のコマンドを実行して、実行に失敗した
コマンド1 | 2コマンドを、|パイプ文字、コマンド1 2、エラーがある場合は1、コマンド、コマンドに渡されたコマンドの実行結果図2は、同じことを実行することができます

複数のコマンド構文下linix
かかわらず、コマンド1が正常に実行されたかどうかの、コマンド2、コマンド1を実行し、コマンド2を実行し;コマンド1
コマンド1 &&コマンド2、オーダー1実行するように、命令1、実験2を実行します成功した我々は、コマンド2を実行するために来たときに
、コマンド1 || 2コマンドをコマンド1を実行し、コマンドの実行中に2、唯一の1つのコマンドは、コマンド2の実行時に失敗した
コマンド1 | 2コマンド、|パイプライン、コマンド実行結果1 、送信を指令する2

コードの実行
アプリケーションは、文字の一部を呼び出すにeval(なし7後のphpのeval)として、ユーザーはコードインジェクションの脆弱性の原因となります文字列を制御することができるかどうか検討していなかったときに、関数のコードに変換することができます。

; $データは、$ _ GET [ 'データ'] =
evalの( "\ $ RET = $データ;");直接関数実行
のeval( "\ $ RET = strtolower ( '$データを');"); クローズドを使用することができます(実行モードにはevalをバイパス";のphpinfo(); // '\ $ strtolower RET =('。1' ));");
evalの( "\ $ strtolower RET =(" $データ");");を使用することができますクローズド方式バイパスにevalを実行( "\ $ RET = strtolower(" 1。 ");は、phpinfo(); //「);");
urlY構文が悪用、evalの( "\ $ RET = strtolower(\" $データ\ ");");} {$は、バイパスモードに使用することができ、$ {するphpinfo()}、エバール( "\ $ RET = strtolower(\" $ {するphpinfo()} ");");

おすすめ

転載: www.cnblogs.com/sym945/p/11851117.html