月収10万元の起業の夢を実現するミニプログラム起業支援プラン 中国では、多くのウェブマスターやプラットフォームがオープンソースシステムであるthinkphpを使用してウェブサイトを構築しています。なぜそれほど人気があるのでしょうか。第一に、オープンソースであり、便利で効率的であり、静的HTMLを生成できます。第二に、PHPアーキテクチャを簡単に開発できるフレームワークです。サードパーティのプラグインやサードパーティの開発会社が多く、テンプレートをカスタマイズできます。thinkphpをベースに、多くの大規模な仮想通貨プラットフォーム、メンバーシッププラットフォーム、ショッピングモールシステムを開発できます。公式のthinkPHPは、システムのアップグレードにおいて比較的完全な仕事をしており、タイムリーに更新およびバグの修正を行っています。 現在の公式最新バージョンは ThinkPHP5.0.20 です。以前の ThinkPHP3.2、ThinkPHP3.1、ThinkPHP3.0 にはすべて、高リスクのリモート コード実行の脆弱性、thinkphp SQL インジェクションの脆弱性、バックエンド管理者の XSS クロスサイト脆弱性、任意のファイル アップロードの脆弱性など、Web サイトの脆弱性がありました。 2018年9月5日、SINE Securityは、通常のthinkphpウェブサイトセキュリティ検出中に、ある顧客が使用していたthinkphpシステムに、非常に有害なウェブサイトSQLインジェクション脆弱性があることを発見しました。当初、この顧客が使用していたthinkphp 3.2.3という下位バージョンが、このウェブサイト脆弱性の原因であると考えました。しかし、実際のセキュリティ検出では、このバージョンだけでなく、最新バージョンの5.0.20も脆弱性の原因であることがわかりました。ウェブサイトの脆弱性とPOCエクスプロイトの詳細を段階的に分析してみましょう。 ウェブサイトのセキュリティ検出 thinkphp 脆弱性生成原理 ウェブサイトの脆弱性を生成するファイルは、dbフォルダを含むライブラリフォルダの下のthinkファイルに存在する。 driver.class.phpコードの677行目から、注文処理の分析中に不正な分析パラメータが挿入される可能性があることが判明しました。 キー値を割り当てる際に厳密なセキュリティ制限やフィルタリングがないため、攻撃者はSQLインジェクション文を使用して 行構造は、データベース内の管理者アカウントとパスワードの確認、データベースへの書き込みなどの操作を含め、データベースの内容を照会します。 thinkphp 3.2.3 の脆弱性コードは次のとおりです。 /** * 注文分析 * @アクセス保護 * @param 混合 $order * @戻り値文字列 */ 保護された関数parseOrder($order) { if(is_array($order)) { $配列 = 配列(); foreach ($order as $key=>$val){ if(is_numeric($key)) { $array[] = $this->parseKey($val); }それ以外{ $array[] = $this->parseKey($key).' '.$val; } } $order = implode(',',$array); } !empty($order) を返しますか? ' ORDER BY '.$order:''; } ThinkPHP 5.1.22 の脆弱性コードは、ライブラリ フォルダーの下の think フォルダーにある db/query.php ファイルに存在します。 コードの 1514 行目は次のとおりです。 /** * ソート順('id','desc')または順序を指定する (['id'=>'desc','create_time'=>'desc']) * @アクセスパブリック * @param string|array $field ソートフィールド * @param 文字列 $order ソート * @return $this */ パブリック関数 order($field, $order = null) { ($field が空の場合) { $this を返します。 } elseif ($field インスタンスの式) { $this->options['order'][] = $field; $this を返します。 } if (is_string($field)) { 空の場合($this->options['via']) { $field = $this->options['via'] . '.' . $field; } if (strpos($field, ',')) { $field = array_map('トリム', ', $field' を爆発的に拡大します); } それ以外 { $field = 空($order) ? $field : [$field => $order]; } } elseif (!empty($this->options['via'])) { foreach ($field を $key => $val として) { if (is_numeric($key)) { $field[$key] = $this->options['via'] . '.' . $val; } それ以外 { $field[$this->options['via'] . '.' . $key] = $val; $field[$key] を設定解除します。 } } 上記の thinkphp 3.2.3 および thinkphp 5.0 コードから、order が関連関数を分析するときに、それがキー値に割り当てられ、SQL インジェクション ステートメントと混合して攻撃 Web サイトを実行したり、スプライシング方式で SQL セキュリティ フィルタリングをバイパスしたりして、SQL ステートメントを実行し、データベースを照会してデータベースを操作することができることが分析できます。 ThinkPHP の脆弱性悪用に関する詳細: ThinkPHP の脆弱性修復の提案: システムで thinkphp 3.* の下位バージョンを実行している場合は、できるだけ早く thinkphp の最新バージョンにアップグレードしてください。 システムで thinkphp 5.* のより高いバージョンを実行している場合は、できるだけ早く thinkphp の最高バージョンにアップグレードしてください。 ウェブサイトが攻撃を受けた場合は、できるだけ早くウェブサイトの安全なバックアップを作成し、ウェブサイト上のトロイの木馬バックドアを検索し、コード内の改ざんされたコードを修復し、ウェブサイトのセキュリティ強化をしっかり行ってください。一部のキャッシュフォルダーにセキュリティ権限を設定します。ウェブサイトの脆弱性修復についてあまり詳しくない場合は、専門のウェブサイトセキュリティ会社を見つけて対応してもらえます。国内のSINE Security Company、Green Alliance Security、Venustechはいずれも比較的専門的です。ウェブサイトが Linux や Windows などの別のサーバーを使用している場合は、ウェブサイト ファイアウォールを導入して SQL インジェクション攻撃を防ぐことができます。ウェブサイトのデフォルトの管理者バックエンド アドレスは、より複雑なアドレスに変更できます。 元のタイトル: thinkphp ユニバーサル脆弱性の悪用によるウェブサイト セキュリティ検出と修復の提案 キーワード: ウェブサイトのセキュリティ、ウェブサイトの脆弱性検出 |
<<: ブラウザ信頼IP SSL証明書の申請には1~3日しかかかりません
クラウド コンピューティングは大きな話題ですが、おそらく 2018 年の最も重要な話題の 1 つは、...
ご存知のとおり、App Store では開発者がキーワードに入力できる文字数は最大 100 文字なの...
Reversehosts は年末に設立されました。Hostcat は今年 3 月からこの VPS を...
コンテンツタグ: デジタル人民元シナリオアプリケーション、サードパーティ決済分析:中央銀行は7年間研...
次のような状況を想像してみてください。工場では、センサーが収集したデータをリアルタイムでクラウドにア...
フェン兄弟はわざわざ業界を訪問し、株式公開を控えているYYについていくつかの判断を得ました。 1. ...
少し前に、大手ウェブマスターのウェブサイトで、多くのウェブマスターが、自分のウェブサイトが Baid...
最近、新しいウェブサイトを構築しました。すべての初心者ウェブマスターと同様に、毎日コンピュータの電源...
11月のシドニーの春は突然寒くて湿気が多くなり、私が到着した最初の日の晴れた明るい天気とは対照的でし...
新たなインフラ政策と突然の疫病の発生により、企業のデジタル変革が加速し、企業の関連人材に対する需要の...
現在、ほとんどのオンライン教育業界はオンラインプロモーション方法を採用しています。オンラインマルチチ...
sakuraserver は 2017 年 3 月に設立されたサービス プロバイダーです。メインの ...
電子商取引は飛躍的に発展し、人々はインターネットでの買い物や取引にますます慣れてきています。その結果...
すべての共同購入ウェブサイトが米国のグルーポンからコピーされているように、化粧品サンプルを販売すると...
中国検索エンジン市場の現状分析国内検索エンジン市場の現状は比較的明確で、国内検索エンジンのリーダーと...