Struts2フレームワークサイトのリスク分析例
1. 概要
Apache Software Foundation (ASF) がスポンサーとなっているオープン ソース プロジェクトは Struts です。このプロジェクトはジャカルタ プロジェクトの分岐点として開始され、その後 ASF のトップレベル プロジェクトに昇格しました。 Java Servlet/JSP技術を利用し、Java EE WebアプリケーションのModel-View-Controller[MVC]設計パターンに基づいたアプリケーションフレームワーク[Web Framework]を実装した、MVCクラシック設計パターンの代表的な製品です。
Java EE Web アプリケーション開発の初期には、サーブレット テクノロジの使用に加えて、JavaServer Pages (JSP) のソース コードに HTML と Java コードを組み合わせて開発するのが一般的でした。これら 2 つの方法は、パフォーマンス コードとビジネス ロジック コードを混在させる場合に避けられず、初期の開発とその後のメンテナンスに大きな複雑さをもたらします。上記の制約と制限を取り除き、ビジネス ロジック コードをプレゼンテーション層から明確に分離するために、Craig McClanahan は 2000 年に MVC 設計パターンを採用して Struts を開発しました。このフレームワーク製品は、かつては最も広範で人気のある JAVA WEB アプリケーション フレームワークとみなされていました。
Struts2 は、MVC デザイン パターンに基づく Web アプリケーション フレームワークです。本質的にはサーブレットと同等です。MVC デザイン パターンでは、Struts2は、モデルとビューの間のデータ対話を確立するコントローラーとして機能します。 Struts 2 は Struts の次世代製品であり、Struts 1 と WebWork のテクノロジーを統合した新しい Struts 2 フレームワークです。
2. 脆弱性インベントリ
2.1. 脆弱性履歴
Struts2 フレームワークの人気に伴い、開発に Struts2 フレームワークを使用する企業部門が増えています。近年、高リスクの脆弱性が何度も暴露されています。多くの政府機関のサイト、銀行、大手インターネット企業、その他の部門が攻撃を受けています。 2016年12月に京東12Gのユーザーデータが流出、ユーザー名、パスワード、電子メール、QQ番号、電話番号、IDカードなどのデータが数千万件に達した。原因は2013年に遡る。 Struts 2 のセキュリティ脆弱性。当時、国内のほぼすべてのインターネット企業と多数の銀行や政府機関が影響を受け、多数のデータ漏えいが発生しており、struts2 に脆弱性が発生するたびに、主要なインターネット脆弱性プラットフォームにも次のような複数のフィードバックが寄せられました。
#Struts2 のコード実行の問題は、Google セキュリティ チームの Meder Kydyraliev がパラメータ インターセプタが次のようなものである可能性があることを発見した 2010 年に遡ります。特殊文字に unicde エンコードを使用することで回避される 「#」のフィルタリングによりコード実行の問題が発生する 公式の脆弱性番号は S2-003、
struts2 の脆弱性履歴を振り返ると、公式の脆弱性番号は S2-003 ではないことがわかりました。まず、開発者にセキュリティに対する意識が低く、基本的なセキュリティ対策は名ばかりでした。第二に、公式の修復措置は強度に欠けており、問題の根本原因を真に解決することなく、単なる場当たり的なものに過ぎないと感じています。さらに、公式のオープン精神は本当に衝撃的で、脆弱性の PoC を公式 Web サイトに直接掲載したことで、多くの人が脆弱性の悪用をさらに検討する機会を与えたことも、問題が深刻化する理由の 1 つです。もっと深刻な。
2.2. Struts2 の脆弱性インベントリ
比較的大きな影響があり、広く悪用されている Struts2 の脆弱性:
CVE-2010-1870XWork ParameterInterceptors バイパスにより OGNLstatement の実行が可能
CVE-2012-0392struts2 DevMod リモート コマンド実行の脆弱性
CVE-2011-3923Struts
CVE-2013-1966Struts2
CVE-2013-2251Struts2
Struts2
Struts2
CNVD-2016-02506、CVE-2016-3081、影響を受けるバージョン Struts 2.3.20 - StrutsStruts 2.3.28 (2.3) .20.3 および 2.3.24.3 を除く)
CVE 番号: CVE-2016-4438 Struts (S2-037) リモート コード実行の脆弱性、影響を受けるバージョン: Struts 2.3.20 - Struts Struts 2.3.28.1
CVE-2017-5638 影響を受けるバージョン: Struts 2.3.5 – Struts 2.3.31
Struts 2.5 – Struts 2.5.10
その他の詳細については、struts2 を参照してください。公式 Web サイトの脆弱性履歴:
https://cwiki.apache.org/confluence/display/WW/Security Bulletins
3 . 配布状況
脆弱性が多発している Struts2 フレームワークを考慮し、州内の Struts フレームワークの配布状況に関する調査と統計を実施し、各都市のサイトのフィンガープリンティングを行うことで、Struts フレームワークの使用状況をマッピングしました。
特定のテーブル データ:
##シリアル番号 | 業種 | 数量 | 割合 |
政府機関 | 447 | 28.29% | |
教育機関 | 155 | 9.80% | |
金融業 | 110 | 6.96% | |
保険業界 | 28 | 1.77% | |
証券業界 | 14 | 0.88% | |
エネルギー業界 | 8 | 0.50% | |
運輸業 | 93 | 5.88% | #8 |
114 | 7.21% | 9 | |
398 | 25.18% | 10 | |
213 | 13.48 % |
#脆弱性の数 | ||
---|---|---|
3 | 2 | |
2 | ##3 | 金融業界 |
4 | インターネット企業 | |
5 | その他 | |
検出の過程で、多くの Web サイトに Stuts2 以前の古い脆弱性がまだ修復されていないことが判明し、Stuts2 の脆弱性のうち、Web サイトの登録ユーザーがハッカー攻撃にさらされることになりました。 |
以上がStruts2フレームワークサイトのリスク分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









1. はじめに Struts2 の脆弱性は古典的な一連の脆弱性であり、根本的な原因は、Struts2 がフレームワークを柔軟かつ動的にするために OGNL 式を導入していることです。フレームワーク全体のパッチ適用が改善されたことにより、Struts2 の新たな脆弱性の発見は以前よりもはるかに困難になりましたが、実際の状況から判断すると、ほとんどのユーザーが過去の高リスク脆弱性を既に修復済みです。現在、侵入テストを行う場合、Struts2 の脆弱性は主に偶然に任せられるか、イントラネットに公開された後でパッチが適用されていないシステムを攻撃する方がより効果的です。オンライン分析記事では、主にこれらの Struts2 の脆弱性を攻撃と悪用の観点から分析しています。新しい H3C の攻守チームとして、ips 製品のルールベースを維持することも仕事の一部であり、今日はこのシステムをレビューします。

Struts2 フレームワークの原理: 1. インターセプターはリクエスト パスを解析します; 2. アクションの完全なクラス名を検索します; 3. Action オブジェクトを作成します; 4. Action メソッドを実行します; 5. 結果を返します; 6. ビュー解析中。その原理は、ビジネス ロジック コントローラーをサーブレット API から完全に分離するインターセプター メカニズムに基づいており、コードの再利用性と保守性が向上します。 Struts2 フレームワークは、リフレクション メカニズムを使用することで、リクエストと応答を処理するための Action オブジェクトを柔軟に作成および管理できます。

Vulhub 脆弱性シリーズ: struts2 脆弱性 S2-0011 脆弱性の説明: struts2 脆弱性 S2-001 は、ユーザーがフォーム データを送信して検証が失敗した場合、サーバーは OGNL 式を使用して、ユーザーによって以前に送信されたパラメーター値 %{value} を解析します。対応するフォームデータを補充します。たとえば、登録ページやログインページなどです。送信が失敗した場合、サーバーは通常、デフォルトで以前に送信されたデータを返します。サーバーは %{value} を使用して送信されたデータに対して OGNL 式解析を実行するため、サーバーはペイロードを直接送信してコマンドを実行できます。 2. Vulhubの脆弱性悪用:vulhubを利用して脆弱性を再現すると、環境構築の手間が省け大変便利です。ヴ

0x00 はじめに Struts2 は、Apache ソフトウェア組織によって開発された非常に強力な JavaWeb オープン ソース フレームワークであり、本質的にはサーブレットと同等です。 Struts2 は MVC アーキテクチャに基づいており、明確なフレームワーク構造を持っています。通常、モデルとビュー間のデータ対話を確立するコントローラーとして使用され、エンタープライズ レベルの Java Web アプリケーションを作成するために使用されます。JavaServletAPI を利用および拡張し、開発者に MVC アーキテクチャの採用を奨励します。 Struts2 は、WebWork の優れた設計アイデアをコアとして採用し、Struts フレームワークのいくつかの利点を吸収し、MVC 設計パターンで実装されたより整った Web アプリケーション フレームワークを提供します。 0x01 脆弱性

はじめに 2018 年 8 月 22 日に、Apache Struts2 には、高リスクのリモート コード実行の脆弱性 (S2-057/CVE-2018-11776) が存在し、最新のセキュリティ情報が公開されました。この脆弱性は、米国のセキュリティ研究者 ManYueMo によって発見されました。 SemmleSecurityResearchチーム。この脆弱性は、Struts2 開発フレームワークで名前空間関数を使用して XML 構成を定義するときに、名前空間の値が設定されておらず、上位層のアクション構成 (ActionConfiguration) にも設定されていないか、またはワイルドカード名前空間が使用されているという事実に起因します。これにより、リモートでコードが実行される可能性があります。同じように、あなたも

0x00 はじめに Struts2 フレームワークは、JavaEE Web アプリケーションを開発するためのオープンソース Web アプリケーション アーキテクチャです。 JavaServletAPI を利用および拡張し、開発者が MVC アーキテクチャを採用することを奨励します。 Struts2 は、WebWork の優れた設計アイデアをコアとして採用し、Struts フレームワークの利点の一部を吸収し、MVC 設計パターンで実装されたより整った Web アプリケーション フレームワークを提供します。 0x01 脆弱性の概要 ApacheStruts22.3.x シリーズでは struts2-struts1-plugin プラグインが有効になっており、struts2-showcase ディレクトリが存在する場合に脆弱性が発生します。

1. 概要 Struts は、Apache Software Foundation (ASF) がスポンサーとなっているオープンソース プロジェクトです。これはジャカルタ プロジェクト内のサブプロジェクトとして始まり、後に ASF のトップレベル プロジェクトになりました。 JavaServlet/JSP技術を利用し、JavaEE WebアプリケーションのModel-View-Controller[MVC]設計パターンに基づいたアプリケーションフレームワーク[WebFramework]を実装した、MVCクラシック設計パターンの代表的な製品です。 JavaEE Web アプリケーション開発の初期には、サーブレット テクノロジの使用に加えて、JavaServerPages (JSP) のソース コードで HTM が一般的に使用されていました。

現在、Apache はこの脆弱性を修正するバージョンアップデートを正式にリリースしています。 Apache Struts の製品バージョンを適時に確認し、影響を受ける場合は適時にパッチを適用することをお勧めします。 1. 脆弱性の紹介 ApacheStruts2 は、American Apache Software Foundation の Jakarta プロジェクトのサブプロジェクトであり、MVC 設計に基づいた Web アプリケーション フレームワークです。 2018 年 8 月 22 日、Apache は Apache Struts2S2-057 セキュリティ脆弱性 (CNNVD-201808-740、CVE-2018-11776) を正式にリリースしました。 struts2開発フレームワークでpan-namespace機能を有効にする場合
