ホームページ ウェブフロントエンド H5 チュートリアル フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

Aug 21, 2019 pm 04:19 PM
安全性

インターネットの発展に伴い、ユーザーの多様なニーズに応えるため、さまざまなWEBアプリケーションはますます複雑化していますが、それに伴いネットワークセキュリティにもさまざまな問題が生じています。フロントエンド開発業界として、この問題から逃れることはできません。そこで今日は、WEBフロントエンドのセキュリティとその対策について簡単にお話します。

#まず第一に、フロントエンド攻撃とはどのようなもので、どのように防ぐべきでしょうか?

1. XSS 攻撃

XSS は、Web アプリケーションでよく発生するコンピューター セキュリティの脆弱性で、悪意のある Web ユーザーが他のユーザーが利用できるページにコードを挿入できるようになります。たとえば、これらのコードには HTML コードとクライアント側スクリプトが含まれます。攻撃者は XSS の脆弱性を利用して、同一生成元ポリシー (same origin policy) などのアクセス制御をバイパスします。このタイプの脆弱性は、ハッカーがより有害なフィッシング (Phishing) 攻撃を作成するために使用するため、広く知られるようになりました。

XSS 攻撃の危険性は次のとおりです。

1. マシンのログイン アカウント、ユーザーのオンライン バンキング アカウント、さまざまな管理者アカウントなど、さまざまなユーザー アカウントを盗みます

2. 制御エンタープライズ データ (機密性の高いエンタープライズ データの読み取り、改ざん、追加、削除を含む)

# 3. 商業的価値のある重要な企業情報の盗難

## 4. 違法な転送

5. 電子メールの送信を強制される

# 6. Web サイトの吊り下げ馬

# 7. 被害者のマシンを制御して他の Web サイトに攻撃を開始する

#XSS 攻撃の具体的な兆候:

1. JavaScript コードインジェクション

以下はコードページです:

このコードの機能は、最初の部分に文字列を挿入することです。入力ボックス。2 番目の入力ボックスに出力し、1 を入力すると、2 番目の入力の値は 1 になります。以下は、ページとソース コードのスクリーンショットです (ここでは、テストするために次のコードを入力します)

<SCRIPT>alert(&#39;xss&#39;)</SCRIPT>
ログイン後にコピー
ログイン後にコピー

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介ポップアップ ダイアログ ボックスがないことがはっきりとわかります。なぜポップアップ ウィンドウがないのか疑問に思われるかもしれません。ソースコード

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

入力した文字列が15行目のinputタグのvalue属性に出力され、valueに値として表示されていることがわかります。ポップアップ ウィンドウがありません。この時点ではどうすればよいでしょうか? 賢い人は、

<SCRIPT>alert(&#39;xss&#39;)</SCRIPT>
ログイン後にコピー
ログイン後にコピー

の前に "> を追加して入力タグを閉じることができることを発見しました。したがって、得られる結果は # です。 フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

##ウィンドウが正常にポップアップします。この時点でページを見ています。

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

あることがわかります。 2 番目の入力ボックスの後に "> 文字列が続きます。なぜこれが起こっているのでしょうか? ソース コードを見てみましょう。

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

解決策: 現時点で最も簡単な防止方法は次のとおりです。すべてのフロントエンド出力データをエスケープします。安全ですが、script タグがあるように示されていますが、実際には、script タグの左と右の山かっこ (><) は HTML 文字エンティティにエスケープされます。これらはタグとして解析されませんが、実際に表示されるときは、これら 2 つの山かっこは通常どおり表示されます。

2. append の利用

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介 前のセクションでは、script タグの左山括弧と右山括弧を警戒しましたが、賢明なハッカーは依然としてそれを解読する良い方法を見つけ出しました。 js を innerHTML に割り当てることは実行できません。例:

<br/>
ログイン後にコピー

ただし、jQuery の append ではこれが可能です。これは、jQuery が append 要素をフラグメントに変更するときにその中の script タグを見つけて、eval を使用して再実行するためです。 jqueryのappendで使われるメソッドもinnerHTMLです。 InnerHTML は Unicode コードを文字エンティティに変換します。

これら 2 種類の知識を組み合わせると、Web サイトは追加を使用して dom 操作を実行すると結論付けることができます。追加で決定できるフィールドであれば、Unicode を使用して左山括弧と右山括弧を偽装できます。コードは、「\u003cscript\u003ealert('xss');」のようなものです。次にエスケープすると、\u003 として偽装された

3. img タグの再利用

img タグは、イメージのロードが失敗したときに要素の onerror イベントを呼び出します。これで攻撃できるようになります。

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

しかし、この画像のアドレスを別の書き方にしたらどうなるでしょうか?

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

この時点でソースコードが変更されています--src の場合は空ですが、onerror が発生すると、挿入されたコードが実行されます。ページを更新すると、コードの挿入が成功しており、引き続きエスケープする必要があることがわかります。

2. CSRF 攻撃

CSRF 攻撃とは?

CSRF(Cross-site##) #request forgery クロスサイト リクエスト フォージェリ。「One Click Attack」または ## とも呼ばれます。 # Session Riding (通常は CSRF または XSRF と略されます) は、Web サイトの悪意のある使用です。実際、Web サイト内の送信動作の一部はハッカーによって使用されています。ハッカーの Web サイトにアクセスすると、 1. ポストを利用して合理的に取得します。通常は手間を省くために行います。, いくつかのデータを作成します。誰もが知っているように、これは http の標準に違反するだけでなく、ハッカーによっても使用される可能性があります。

たとえば、開発した Web サイトには、次の操作があります。次のように開発しました:

## 次に、ハッカーの Web サイトは次のように開発できます: フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

この場合、ユーザーはハッカーの Web サイトに 1 回アクセスするだけでよく、これは実際にはあなたの Web サイトで 1 回操作するのと同じですが、ユーザーには認識されません。 フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介したがって、私たちの日々の開発では、依然として送信ビジネスに従い、投稿リクエストに厳密に従う必要があります。送信インターフェースの作成に jsonp を使用しないでください。これは非常に危険です。

2 .xsrf 攻撃のアップグレード

ポスト リクエストを使用して重要なビジネスを処理する場合でも、それをクラックする方法はまだあります。私たちのビジネス コードは次のとおりです:

ハッカー コードは次のとおりです:フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介


クリック後、ユーザーは気付かないうちに送信しました。この状況から防御するにはどうすればよいですか?

最も簡単な方法は、ユーザー以外はハッカーの Web サイトがこのセッションのユーザーの確認コードを取得できないように確認コードを追加することです。ただし、これにより、特に頻繁に送信するユーザーの送信エクスペリエンスも低下します。ユーザーが常に検証コードの入力を求められる場合、ユーザーは非常にイライラするでしょう。フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

もう 1 つの方法は、ユーザーがアクセスしたページに検証トークンを埋め込むことです。このページで生成されるトークンは、基本的に検証コードを使用するのと同じです。ただし、この方法では、ページ全体のすべてのセッションに同じトークンを使用できます。多くのポスト操作では、開発者は現在のトークンを自動的に持ち込むことができます。ページのトークン。トークンの検証が失敗した場合、投稿はこのサイトから送信されたものではないことが証明され、投稿プロセスは終了します。トークンが実際にこの Web サイト用に生成されたものであれば、通過する可能性があります。

コードは次のとおりです。

には、このサイトの各セッションによって生成されたトークンが含まれていないため、送信は失敗します。

このサイトの Web サイト フォームには、このサイトによって生成されたトークンが自動的に送信されます。フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

このサイトの Web ページを使用して再送信する場合は、 use

もちろん、上記は単なる例です。特定のトークンの生成は、セッションとユーザー ID に応じて変更する必要があります。Web サイトにもトークンを追加する必要があると思われる場合は、Baidu で詳しく調べてください。 。 フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

3. ネットワークハイジャック攻撃

多くの場合、当社の Web サイトは当社のサーバーに直接アクセスするのではなく、多くのプロキシ層を経由します。特定のリンクでデータが中間プロキシ層でハイジャッカーによって傍受されると、データが取得される可能性があります。 Web サイトのユーザーのパスワード。たとえば、ユーザーはさまざまなレストランの奇妙な Wi-Fi に接続することがよくありますが、この Wi-Fi がハッカーによって確立されたホットスポット Wi-Fi である場合、ハッカーはユーザーが送受信するすべてのデータにアクセスできます。ここで、ウェブマスターはウェブサイトの暗号化に https を使用することをお勧めします。このようにして、Web サイトのデータを取得できたとしても、ハッカーはそれを解読できません。

Web サイトが https によって暗号化されていない場合は、フォーム送信部分で非対称暗号化、つまりサーバーによってのみ復号化できるクライアント側の暗号化を使用するのが最善です。このようにして、中間にいるハイジャッカーは、暗号化されたコンテンツの実際の情報を取得できなくなります。

4. コンソール インジェクション コード

読者の皆さんは、図 4.1 に示すように、Tmall 公式 Web サイトのコンソールに警告メッセージが表示されていることにお気づきでしょうか? これはなぜでしょうか? ハッカーが騙すためです。ユーザーにコンソールに何かを貼り付けるよう強要する (コードを理解していない初心者ユーザーをいじめる) たとえば、「Tmall にアクセスしている限り、F12 キーを押して次のコンテンツを貼り付けてください」という記事を友達のサークルに投稿することができます。 、「○○元プレゼント」などをもらえると、一部のユーザーが実際に操作してしまい、プライバシーが公開されているとは気づかないでしょう。

Tmall のこのアプローチは、ユーザーにこれを行わないよう警告するものでもあり、Tmall のフロントエンドのセキュリティも非常に優れているようです。ただし、この種の攻撃は結局のところ少数派なので、様子見するだけでよく、一部のユーザーがこのような攻撃を受けることが本当にわかった場合は、Tmall のソリューションを忘れずに考えてください。

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

5. フィッシング

フィッシングも非常に古い攻撃方法ですが、実際にはフロントエンド攻撃ではありません。しかし、結局のところ、これはページレベルの攻撃なので、一緒に話しましょう。そういった経験のある方も多いと思いますが、QQグループの方が、アルバイトの話、海外旅行に行って家や車を売った話などを投稿されており、詳細は私のQQスペースなどに掲載しています。開いてみると、QQ ログイン ボックスが見つかりました。実際、ドメイン名を見ると、QQ ではないことはわかっていましたが、QQ ログインに非常によく似ていました。何が起こっているのか分からないユーザーは、実際に自分のアカウントを入力しました。ユーザー名とパスワード。その結果、ユーザーは QQ にログインできず、名前とパスワードが誰かに送信されました。

実はこの方法はフロントエンドでも使われています。次はフロントエンドを使ってリアルな釣りをしてみます。

1. まず、xx スペースで記事を共有し、他の人がクリックするように誘導します。

フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

#2 次に、cheat.php Web サイト上のリダイレクトされたソース Web ページのアドレスを静かに変更します。

したがって、ユーザーが当社の詐欺的な Web サイトにアクセスした後、以前のタブは静かに変更され、ユーザーをだましてユーザー名やパスワードなどを入力させるフィッシング Web サイトに静かに置き換えられました。

1フロントエンドセキュリティとそれを防ぐ方法の詳細な紹介

3 弊社のフィッシング Web サイトは XX スペースに偽装されており、ユーザーにユーザー名とパスワードの入力を許可しています。

このフィッシング手法はさらに興味深いもので、重要な点は次のとおりです。この種の攻撃を防ぐことは困難であり、js を使用しているページのリンクをすべて開くことはできません。したがって、外部リンクのジャンプ リンクを現在のページ ジャンプに変更するか、ページがアンロードされるときにユーザーにプロンプ​​トを表示するか、すべてのページ ジャンプを window.open に変更し、開くときに次の手順に従います。同じ目標: ネチズンのセキュリティ意識を向上させる必要があります。

6. 日々の開発で注意すべきことは何ですか?

開発時には、ユーザーが作成したコンテンツに注意し、レイヤーごとに作業を行う必要があります。ユーザーが入力した情報のレイヤー検出。ユーザーの出力コンテンツのフィルタリング (エスケープなど) に注意し、送信用に重要なコンテンツを暗号化することを忘れないでください (https を使用するか自分で暗号化するかにかかわらず)

リクエストの取得と投稿仕様を厳密に遵守する必要があります。これらを混合したり、危険な送信を完了するために jsonp を使用したりしないでください。

URL に含まれる情報には注意してください。あなたのウェブサイトがどこに危険を及ぼす可能性があるかを常に念頭に置いてください。

上記はすべてフロントエンドのセキュリティに関するものです。その他のフロントエンドの問題については、PHP 中国語 Web サイトを参照してください: https://www.php.cn/

以上がフロントエンドセキュリティとそれを防ぐ方法の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Windows11セキュリティセンターをオフにする方法を詳しく解説 Windows11セキュリティセンターをオフにする方法を詳しく解説 Mar 27, 2024 pm 03:27 PM

Windows 11 オペレーティング システムでは、セキュリティ センターは、ユーザーがシステムのセキュリティ状態を監視し、マルウェアから防御し、個人のプライバシーを保護するのに役立つ重要な機能です。ただし、特定のソフトウェアをインストールするときやシステム チューニングを実行するときなど、ユーザーがセキュリティ センターを一時的にオフにする必要がある場合があります。この記事では、システムを正しく安全に運用するために、Windows 11 セキュリティ センターをオフにする方法を詳しく紹介します。 1. Windows 11 セキュリティ センターをオフにする方法 Windows 11 では、セキュリティ センターをオフにしても、

Windows セキュリティ センターでリアルタイム保護をオフにする方法の詳細な説明 Windows セキュリティ センターでリアルタイム保護をオフにする方法の詳細な説明 Mar 27, 2024 pm 02:30 PM

Windows オペレーティング システムは、世界で最も多くのユーザーを抱えるオペレーティング システムの 1 つとして、常にユーザーに支持されています。ただし、Windows システムを使用する場合、ユーザーはウイルス攻撃、マルウェア、その他の脅威など、多くのセキュリティ リスクに遭遇する可能性があります。システム セキュリティを強化するために、Windows システムには多くのセキュリティ保護メカニズムが組み込まれています。その 1 つが Windows セキュリティ センターのリアルタイム保護機能です。今回はWindowsセキュリティセンターのリアルタイム保護をオフにする方法を詳しく紹介します。まず、しましょう

Windows セキュリティ センターでリアルタイム保護をオフにするためのヒント Windows セキュリティ センターでリアルタイム保護をオフにするためのヒント Mar 27, 2024 pm 10:09 PM

今日のデジタル社会において、コンピューターは私たちの生活に欠かせないものとなっています。 Windows は最も人気のあるオペレーティング システムの 1 つとして、世界中で広く使用されています。しかし、ネットワーク攻撃手法がエスカレートし続けるにつれ、パーソナル コンピュータのセキュリティを保護することが特に重要になってきています。 Windows オペレーティング システムは一連のセキュリティ機能を提供しますが、その重要なコンポーネントの 1 つが「Windows セキュリティ センター」です。 Windows システムでは、「Windows セキュリティ センター」が役に立ちます。

PHP マイクロフレームワーク: Slim と Phalcon のセキュリティに関する議論 PHP マイクロフレームワーク: Slim と Phalcon のセキュリティに関する議論 Jun 04, 2024 am 09:28 AM

PHP マイクロフレームワークにおける Slim と Phalcon のセキュリティ比較では、Phalcon には CSRF および XSS 保護、フォーム検証などのセキュリティ機能が組み込まれていますが、Slim にはすぐに使用できるセキュリティ機能がなく、手動で実装する必要があります。セキュリティ対策。セキュリティ クリティカルなアプリケーションの場合、Phalcon はより包括的な保護を提供するため、より良い選択肢となります。

C++ での機械学習アルゴリズムの実装: セキュリティに関する考慮事項とベスト プラクティス C++ での機械学習アルゴリズムの実装: セキュリティに関する考慮事項とベスト プラクティス Jun 01, 2024 am 09:26 AM

C++ で機械学習アルゴリズムを実装する場合、データ プライバシー、モデルの改ざん、入力検証などのセキュリティを考慮することが重要です。ベスト プラクティスには、安全なライブラリの採用、権限の最小化、サンドボックスの使用、継続的な監視が含まれます。実際のケースでは、Botan ライブラリを使用して CNN モデルを暗号化および復号化し、安全なトレーニングと予測を確保する方法を示します。

Struts 2 フレームワークのセキュリティ構成と強化 Struts 2 フレームワークのセキュリティ構成と強化 May 31, 2024 pm 10:53 PM

Struts2 アプリケーションを保護するには、次のセキュリティ構成を使用できます。 未使用の機能を無効にする コンテンツ タイプ チェックを有効にする 入力を検証する セキュリティ トークンを有効にする CSRF 攻撃を防ぐ RBAC を使用してロールベースのアクセスを制限する

Java フレームワークのセキュリティ アーキテクチャ設計は、ビジネス ニーズとどのようにバランスをとる必要がありますか? Java フレームワークのセキュリティ アーキテクチャ設計は、ビジネス ニーズとどのようにバランスをとる必要がありますか? Jun 04, 2024 pm 02:53 PM

Java フレームワーク設計では、セキュリティ ニーズとビジネス ニーズのバランスをとることでセキュリティを実現し、主要なビジネス ニーズを特定し、関連するセキュリティ要件に優先順位を付けます。柔軟なセキュリティ戦略を策定し、脅威に階層的に対応し、定期的に調整します。アーキテクチャの柔軟性を考慮し、ビジネスの進化をサポートし、抽象的なセキュリティ機能を考慮します。効率と可用性を優先し、セキュリティ対策を最適化し、可視性を向上させます。

SHIBコインにとってより安全なウォレットはどれですか? (初心者の方は必ずお読みください) SHIBコインにとってより安全なウォレットはどれですか? (初心者の方は必ずお読みください) Jun 05, 2024 pm 01:30 PM

SHIBコインは、投資家にとってもはや馴染みのないものではありませんが、市場の発展に伴い、SHIBの現在の市場価値は12位にランクされており、数え切れないほどの投資を集めていることがわかります。 . 投資家が投資に参加します。過去に、市場では頻繁に取引やウォレットのセキュリティに関するインシデントが発生しており、多くの投資家は、現時点でどのウォレットがSHIBコインを保管するのが安全なのか疑問に思っています。市場データの分析によると、比較的安全なウォレットは主に OKXWeb3Wallet、imToken、MetaMask ウォレットです。次に、これらについて編集者が詳しく説明します。 SHIBコインにとってより安全なウォレットはどれですか?現在、SHIBコインはOKXWeに置かれています

See all articles