1. ホーム
  2. Web プログラミング
  3. PHP プログラミング
  4. phpのヒント

web php include 攻撃と防御 世界のphp セキュリティ 例 詳細

2022-01-14 23:34:40

ステップ

与えられた実験環境を開き、与えられたコードを見つけ、そのコードを分析することで、そのファイルに脆弱性が含まれていることがわかります。

は、2つのパラメータを含んでいます。

  • helloパラメータに記述された内容がページに出力されます
  • page パラメータの内容はファイルに含まれていますが php:// がフィルタリングされる

2つの機能

strstr(string,search[,before_search]): strstr()関数は、ある文字列(search)が別の文字列(string)の中に存在するかどうかを調べ、存在する場合はその文字列と余りを返し、存在しない場合はFALSEを返します。大文字と小文字を区別する stristr()関数は、大文字小文字を区別しない関数です。
string : 必須。検索対象の文字列を指定する。
search : 必須。検索する文字列を指定する。パラメータが数値の場合、数値のASCII値に一致する文字が検索されます。
before_search : オプション。ブール値で、デフォルト値は "false"です。trueを指定すると、検索パラメータの最初の出現箇所より前の文字列の部分が返されます。

str_replace(find,replace,string,count)。この関数は、文字列を置換するために使用される。
find : 検索する文字列です。
string : オリジナルの文字列

バイパス方法。

  • ケースを使用して回避する。PhP://

ここでは、擬似プロトコルの

phP://input

  • php://input は、リクエストの生データにアクセスできる読み込み専用のストリームです。ポストで送信されたデータを読み込むことができます。

投稿の中にコマンド実行(バッククオート)のphpコードを書いています。

3つのファイルを取得し、ブラウザーを通して開くことができないことがわかりました:。

catコマンドで表示します。

最初のファイルをチェックして、フラグを見つけよう

ナレッジポイント

この問題は、phpのファイルインクルード脆弱性とOSのコマンドインジェクションを検証します。

上記は、WebのPHPインクルード攻撃と防御の世界の解決策の例の詳細です、WebのPHPインクルード攻撃と防御の世界の詳細については、スクリプトハウスの他の関連記事に注目してください!この記事では、WebのPHPインクルード攻撃と防御の世界の解決策の詳細について説明します。