diff options
Diffstat (limited to 'files/ja/glossary/cross-site_scripting/index.html')
-rw-r--r-- | files/ja/glossary/cross-site_scripting/index.html | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/files/ja/glossary/cross-site_scripting/index.html b/files/ja/glossary/cross-site_scripting/index.html new file mode 100644 index 0000000000..0d748d34b1 --- /dev/null +++ b/files/ja/glossary/cross-site_scripting/index.html @@ -0,0 +1,40 @@ +--- +title: Cross-site scripting (クロスサイトスクリプティング) +slug: Glossary/Cross-site_scripting +tags: + - Cross Site Scripting + - DOM + - Glossary + - Security + - XSS +translation_of: Glossary/Cross-site_scripting +--- +<p>クロスサイトスクリプティング(XSS)とは、悪意あるクライアントサイドのコードを Web サイトに差し込むセキュリティ攻撃です。差し込まれたコードは被害者のブラウザー上で実行され、アクセス制限の回避やユーザーへのなりすましなどにつながります。Open Web Application Security Project の調べによると、XSS は 2017 年において <a href="https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf">7 番目に多い Web アプリの脆弱性</a> でした。</p> + +<p>この攻撃が成功してしまうのは、Web アプリにバリデーションとエンコーディングが十分に実装されていない場合です。ユーザーのブラウザーは、悪意あるスクリプトを信頼できないものとして検知できません。そのため、任意の cookie やセッショントークン、Web サイト固有の機密情報などにアクセスされたり、悪意あるスクリプトによって {{glossary("HTML")}} のコンテンツが書き換えられてしまいます。</p> + +<p>クロスサイトスクリプティング攻撃は、1) 信頼できない送信元(ほとんどは Web リクエスト)から Web アプリにデータが入力されるとき、または 2) 悪意あるコンテンツかどうかの検査をせずに動的なコンテンツを Web ユーザーに送信するときに起こります。</p> + +<p>往々にして悪意あるコンテンツは {{glossary("JavaScript")}} を含んでいますが、HTML や Flash、ブラウザーで実行可能な他のコードを含んでいる場合もあります。XSS に基づく攻撃手法はほぼ無限に存在しますが、cookie やセッション情報といった秘密の情報を攻撃者に送信したり、攻撃者の用意した Web ページに被害者をリダイレクトさせたり、本来の Web サイト(脆弱性を含む)を装いつつユーザーのマシン上で悪意ある処理を行ったりすることが多いです。</p> + +<p>XSS 攻撃の種類は、格納型(持続型)・反射型(非持続型)・DOM-based の 3 つに分類することができます。</p> + +<dl> + <dt>格納型 XSS 攻撃</dt> + <dd>差し込まれたスクリプトは、標的のサーバー内に永続的に格納されます。データに対するリクエストをブラウザーが送信し、サーバーから悪意あるスクリプトを受け取ることで被害が発生します。</dd> + <dt>反射型 XSS 攻撃</dt> + <dd>悪意あるリンクをクリックするよう誘導されたユーザーが、特別に細工されたフォームを送信してしまったり、悪意あるサイトを閲覧してしまったりすることで、差し込まれたコードが脆弱な Web サイトへ送信されます。Web サーバーはエラーメッセージや検索結果、リクエストの一部を含んだレスポンスなどによって、そのスクリプトをユーザーのブラウザーへ送信(反射)します。それまでユーザーはその Web サーバーと通信しており、ブラウザーは「信頼できる」サーバーからのレスポンスとみなすため、悪意あるコードがブラウザー上で実行されてしまいます。</dd> + <dt>DOM-based XSS 攻撃</dt> + <dd>クライアントサイドに元々あるスクリプトを利用し、(被害者のブラウザーにおける) DOM 環境を変更した結果、ペイロードが実行されます。すなわち、そのページ自身は変わりませんが、DOM 環境に悪意ある変更を加えたことにより、本来とは異なる方法でクライアントサイドのコードが実行されてしまいます。</dd> +</dl> + +<h2 id="Learn_more" name="Learn_more">関連項目</h2> + +<h3 id="General_knowledge" name="General_knowledge">一般知識</h3> + +<ul> + <li><a href="https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B5%E3%82%A4%E3%83%88%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0">クロスサイトスクリプティング</a> (Wikipedia)</li> + <li><a href="https://www.owasp.org/index.php/XSS">Cross-site scripting</a> (OWASP)</li> + <li><a href="http://www.acunetix.com/blog/web-security-zone/articles/dom-xss-explained/">クロスサイトスクリプティングに関する別の記事</a></li> + <li><a href="https://secure.wphackedhelp.com/blog/wordpress-xss-attack/">XSS Attack – Exploit & Protection</a></li> +</ul> |