\r\n\r\n
XSSとSQLインジェクションの主な違いは、XSS(またはクロスサイトスクリプティング)は、悪意のあるコードをウェブサイトに注入し、そのコードがブラウザを通じてそのウェブサイトのユーザーに実行されるコンピュータセキュリティ脆弱性であり、SQLインジェクションは、Webフォーム入力ボックスにSQLコードを追加してリソースにアクセスしたりデータを変更する別のウェブサイトハッキングメカニズムです。
Webアプリケーションは、クライアントサイドとサーバーサイドで構成されています。クライアント側には、アプリケーションと対話するためのユーザーインターフェイスが含まれます。サーバー側にはデータベースがあります。通常、アプリケーションの正常な動作に影響を与える脅威が存在します。そのうちの2つが、XSSとSQLインジェクションです。
1. 概要と主な違い 2. XSSとは 3. SQLインジェクションとは 4. 横並び比較 - XSS vs. SQL表形式インジェクション 5. まとめ
XSSはクロスサイトスクリプティングの略で、Webサイトに対する最も一般的な攻撃の一つです。特定のウェブサイトだけでなく、そのウェブサイトのユーザーにも影響を与える可能性があります。XSS攻撃で悪意のあるコードを書くために最もよく使われる言語はJavaScriptです。xssはユーザーのクッキーを盗んだり、ユーザー設定を変更したり、様々なマルウェアのダウンロードを表示したりすることができます。
図01:XSS
XSSには、永続的XSSと非永続的XSSの2種類があります。永続的XSSでは、悪意のあるコードはデータベース内のサーバーに保存されます。そうすると、通常のページで実行されます。非永続的XSSでは、注入された悪意のあるコードは、HTTPリクエストを経由してサーバーに送信されます。多くの場合、これらの攻撃は検索フィールドで発生する可能性があります。
SQLインジェクションもWebサイトをハッキングする仕組みの一つです。これは、Webページの入力を介してSQL文に悪意のあるコードを配置するものです。ウェブサイトには、ユーザーの入力を収集するためのフォームがあります。ユーザ名、useridの入力を求められたとき、ユーザはnameとitの代わりにSQL文を入力することができる。したがって、ウェブサイトのデータベース上で実行することができる。
図02:SQLインジェクション
また、SQLインジェクションの例として、以下のようなものがあります。
ユーザーをuseridで検索する場合もあるかと思います。バリデーション方法が入力されていない場合、ユーザーが間違った入力をする可能性があります。もし、useridを100または1=1と入力すると、次のようなSQL文が生成されます。
Select * from users with userid=100 or 1=1.
このSQL文は、1=1は常に真であるため、データベース内のすべてのユーザーを返します。ハッカーがデータベースにパスワードと含めると、パスワードを取得することができます。これは、SQLインジェクションの例です。
XSSとは、ウェブアプリケーションにおけるコンピュータセキュリティの脆弱性で、攻撃者が他のユーザーが閲覧するウェブページにクライアント側のスクリプトを注入することができます。 SQLインジェクションとは、SQL文を**入力フィールドにして実行するデータ駆動型のアプリケーションを攻撃するコード注入手法のことです。
XSSは、Webサイトに悪意のあるコードを注入し、そのコードがブラウザを通じてそのWebサイトのユーザーに実行されるようにするものです。一方、SQLインジェクションは、Webフォームの入力ボックスにSQLコードを追加して、リソースへのアクセスやデータへの変更を行うものです。これがXSSとSQLインジェクションの大きな違いです。xssはJavaScriptを使用することが多く、SQLインジェクションはSQLを使用します。
XSSとSQLインジェクションの違いは、XSSがウェブサイトに悪意のあるコードを注入して、そのウェブサイトのユーザーでブラウザがコードを実行するのに対し、SQLインジェクションはウェブフォームの入力ボックスにSQLコードを追加してリソースにアクセスしたりデータを変更したりすることである。
1.SQLインジェクションとは?-WhatIs.com ウェブサイトによる定義。" Search Software Quality, TechTarget. available here 2. "SQL Injection".W3SchoolsのオンラインWebチュートリアル。クロスサイトスクリプティング(XSS)とは何ですか?-WhatIs.comのウェブサイト「Searching for Security, TechTarget」による定義 2. 「SQL Injection, W3Schools Online Web Tutorial」による定義 3.クロスサイトスクリプティング(XSS)?-WhatIs.comのウェブサイト「Search Security, TechTarget」による定義。