1.概要
RCE(リモートコマンド/コードの実行)
攻撃者は、バックエンド・システムを制御するオペレーティング・システムのコマンドまたはリモートバックエンドサーバーにコードを注入します。
リモートコマンド実行システムは、
一般的にアプリケーションシステムが利用者に設計からリモートコマンド操作を指定されたインターフェイスを提供する必要があるため、この脆弱性を見える
ようにWeb管理インターフェイスのルータ、ファイアウォール、侵入検知およびその他の機器など、私たちの共通の上を
一般ユーザーに与えますウェブインターフェース、ping操作、ウェブインタフェースからのユーザ入力ターゲットIPは、提出した後、バックグラウンドは、pingテストにIPアドレスを行い、その結果を返すであろう。この機能が完了すると、デザイナー場合は、厳格なセキュリティコントロールをしないと、攻撃者につながる可能性がバックグラウンドで実行できるように、インタフェースを介して「予想外」コマンドを発行し、全体のバックエンドサーバーを制御するため
、リモートでコードが実行される
のと同じ理由設計の需要は、背景は時々 、ユーザの入力は、コード実行の一部として、このように、リモートでコードが実行される脆弱性の原因となるからです。あなたはように機能コードの実行、または危険な直列化復元の使用を使用するかどうか。操作クラスはAPIフロントエンド・ユーザーへのインターフェースを提供する場合、したがって、コンテンツの一部は、入力厳密決意インタフェースする必要がある厳密なホワイトリストポリシーとしては、より良い方法であろう。あなたは「RCE」試験部は、脆弱性のより良い理解に対応することができます。
2.exec「ピング」
以下は、127.0.0.1の入力の直接の結果であります
中国のここでの文字化け、私たちは、次の手順を実行することができます
- 1.「+ Rに勝つ」、およびレジストリレジストリエディターに入ります
- (そうでない場合は、DWORDの下に新しい; 2.コードページ項目の下に既に存在する場合は、HKEY_CURRENT_USER \コンソールの\の%SystemRoot%の_system32_cmd.exeを見つけて「65001」をDECIMAL、そしてOKをクリックして値を入れます32ビット値)、「コードページ」という名前、値に設定されている「65001」。そして、レジストリマネージャを閉じます。
参考記事:https://blog.csdn.net/qq_27682041/article/details/78211922
コマンドラインが実行される脆弱性では、我々は試すことができます;、||、|&、&&、など次のコマンド(私のwin7の仮想マシン上でピカチュウ)などを行っステッチなどのコマンドシンボル、
127.0。0.1&IPCONFIG
我々はまた行っ入力しますIPCONFIGこの時、私たちだけではなく、pingコマンドを実行します。
説明ではない厳密にバックエンド処理は、あなたが私たちに必要なコマンドを実行することができます
3.exec「エバール」
背景には、対応してPHPのコードを実行します、我々は以下のコードを入力することができます
phpinfo();
結果
以下は、バックエンドのコードで、背景は、私たちが直接入力したコードを実行します