cloudbric - press release

【情報】2023年第2四半期の最新Web脆弱性トレンドレポート(EDB/CVE-Report)発行

2023年第2四半期の「最新Web脆弱性トレンドレポート(EDB/CVE-Report)」を公開しました。このレポートは、Web脆弱性において世界的に幅広く参考にされている「Exploit-DB」に公開されている情報を元に、ペンタセキュリティシステムズ株式会社とクラウドブリック株式会社が各Web脆弱性に対する危険度及び影響度を詳しく分析したものです。特定のWebアプリケーションにおけるDependency(依存度)まで提示しているため、専門的知識を持っていないお客様でもWeb脆弱性のトレンド情報を理解することができます。

 

[tek_button button_text=”EDB/CVE-Report ダウンロード” button_link=”url:report-download/#1620585409776-1d194b1c-98da” button_position=”button-center”]

 

2023年4月から6月までに公開されたExploit-DBの脆弱性報告件数は151件でした。
報告された脆弱性の分析内容は、以下の通りです。

 

1. Web脆弱性の発生件数:2023年第2四半期の月平均Web脆弱性発生件数は50件で、4月には最も多い64件が報告されました。

2. CVSS(Common Vulnerability Scoring System)* 推移:HIGH Level脆弱性は4⽉13%から6⽉47%まで増加傾向が見られましたが、CRITICAL Levelの脆弱性は4月34%から5月6%まで減少した後、6月47%%まで急増しました。
*脆弱性を点数で表記するため、0から10まで加重値を付与し計算する方式です。点数が高いほど深刻度が高いという意味です。

3. 上位Web脆弱性の攻撃動向:2023年第2四半期の場合、SQL Injectionが最も多く、次いでCross Site Scriptingの順でした。

4⽉: SQL Injection 56%(36件) / Cross Site Scripting 14%(9件)
5⽉: Cross Site Scripting 40%(13件) / Remote Code Execution, SQL Injection 21 %(7件)
6⽉: : SQL Injection 45%(25件) / Remote Code Execution 18%(10件)

4. Web脆弱性の攻撃カテゴリ:報告されたWeb 脆弱性を攻撃カテゴリ別に分析した結果、SQL Injection Injection(45% 、68件)が最も多く、次いでCross Site Scripting Scripting(19% 、30件)となり、全体の約6 割を占めています。この2つの脆弱性に対しては更に注意を払う必要があります。

 

当該脆弱性を予防するためには、ペンタセキュリティの最新Web最弱性トレンドレポートの分析結果に基づいたパッチ適用やセキュアコーディング作業がおすすめです。しかし、完璧なセキュアコーディングは不可能であり、持続的なセキュリティのためにはWebアプリケーションファイアウォールを活用した深層防御(Defense indepth)の実装を考慮しなければなりません。

 

 

cloudbric - press release

【情報】2023年第1四半期の最新Web脆弱性トレンドレポート(EDB/CVE-Report)発行

2023年1月から3月までに公開されたExploit-DBの脆弱性報告件数は195件でした。

報告された脆弱性の分析内容は、以下の通りです。

 

1. Web脆弱性の発生件数:2023年第1四半期の月平均Web脆弱性発生件数は65件で、3月には最も多い72件が報告されました。

2. CVSS(Common Vulnerability Scoring System)* 推移:HIGH Level脆弱性は1⽉54%から3⽉34%まで減少傾向が見られましたが、CRITICAL Levelの脆弱性は46%から65%まで増加しました。
*脆弱性を点数で表記するため、0から10まで加重値を付与し計算する方式です。点数が高いほど深刻度が高いという意味です。

3. 上位Web脆弱性の攻撃動向:2023年第1四半期の場合、SQL Injectionが最も多く、次いでFile Upload、Remote Code Executionの順でした。

1) 1⽉: SQL Injection 73% (45件) / File Upload 9% (6件)
2) 2⽉: SQL Injection 64% (40件) / Remote Code Execution 12% (8件)
3) 3⽉: SQL Injection 76% (55件) / File Upload 5% (4件)

4. Web脆弱性の攻撃カテゴリ:報告されたWeb脆弱性を攻撃カテゴリ別に分析した結果、SQL Injection(72%、140件)が最も多く、次いでFile Upload(7%、13件)となり、全体の約8割弱を占めています。この2つの脆弱性に対しては更に注意を払う必要があります。

 

当該脆弱性を予防するためには、ペンタセキュリティの最新Web最弱性トレンドレポートの分析結果に基づいたパッチ適用やセキュアコーディング作業がおすすめです。しかし、完璧なセキュアコーディングは不可能であり、持続的なセキュリティのためにはWebアプリケーションファイアウォールを活用した深層防御(Defense indepth)の実装を考慮しなければなりません。

 

*EDB/CVE-Reportはペンタセキュリティシステムズ株式会社とクラウドブリック株式会社が四半期毎に公表している最新Web脆弱性トレンドレポートです。本レポートは、Web脆弱性において世界的に幅広く参考にされている「Exploit-DB」より公開されている情報を踏まえ作成されています。EDB/CVE-Reportは、各Web脆弱性に対する危険度及び影響度を詳しく分析し、特定のWebアプリケーションにおけるDependency(依存度)まで提示しているため、専門的知識を持っていないお客様でもWeb脆弱性のトレンド情報を理解することができます。

 

[tek_button button_text=”EDB/CVE-Report ダウンロード” button_link=”url:report-download/#1620585409776-1d194b1c-98da” button_position=”button-center”]

 

 

cloudbric - press release

【情報】2022年第4四半期の最新Web脆弱性トレンドレポート(EDB/CVE-Report)発行

2022年10月から12月までに公開されたExploit-DBの脆弱性報告件数は119件でした。

報告された脆弱性の分析内容は、以下の通りです。

 

1. Web脆弱性の発生件数:2022年第4四半期の月平均Web脆弱性発生件数は40件で、12月には最も多い47件が報告されました。

2. CVSS(Common Vulnerability Scoring System)* 推移:HIGH Level脆弱性は10⽉100%から12⽉72%まで減少したことが確認されました。MEDIUM Level脆弱性は0%から40%まで増加した後、27%まで減少しました。
*脆弱性を点数で表記するため、0から10まで加重値を付与し計算する方式です。点数が高いほど、深刻度が高いです。

3. 上位Web脆弱性の攻撃動向:2022年第4四半期の場合、前期と同様でSQL Injectionが主な脆弱性として報告され、その次にRemote Code Executionが続いています。

1) 10月: SQL Injection 57%(20件) / Remote Code Execution 22%(8件)
2) 11月: SQL Injection 72%(27件) / Remote Code Execution 5%(2件)
3) 12月: SQL Injection 57%(27件) / Remote Code Execution 17%(8件)

4. Web脆弱性の攻撃カテゴリ: Web脆弱性の攻撃カテゴリ別に分析した結果、最も多く報告された上位2つの脆弱性はSQL Injection(62%、74件)とRemote Code Execution(15%、18件)で、2022年第4四半期に発⽣したWeb脆弱性の攻撃のうち、約8割弱を占めています。この2つの脆弱性に対しては、更に注意を払う必要があります。

 

当該脆弱性を予防するためには、ペンタセキュリティの最新Web最弱性トレンドレポートの分析結果に基づいたパッチ適用やセキュアコーディング作業がおすすめです。しかし、完璧なセキュアコーディングは不可能であり、持続的なセキュリティのためにはWebアプリケーションファイアウォールを活用した深層防御(Defense indepth)の実装を考慮しなければなりません。

 

*EDB/CVE-Reportはペンタセキュリティシステムズ株式会社とクラウドブリック株式会社が四半期毎に公表している最新Web脆弱性トレンドレポートです。本レポートは、Web脆弱性において世界的に幅広く参考にされている「Exploit-DB」より公開されている情報を踏まえ作成されています。EDB/CVE-Reportは、各Web脆弱性に対する危険度及び影響度を詳しく分析し、特定のWebアプリケーションにおけるDependency(依存度)まで提示しているため、専門的知識を持っていないお客様でもWeb脆弱性のトレンド情報を理解することができます。

 

[tek_button button_text=”EDB/CVE-Report ダウンロード” button_link=”url:report-download/#1620585409776-1d194b1c-98da” button_position=”button-center”]

 

 

cloudbric - press release

【情報】2022年第2四半期の最新Web脆弱性トレンドレポート(EDB/CVE-Report)リリース

2022年第2四半期の最新Web脆弱性トレンド情報

2022年4月から6月まで公開されたExploit-DBの脆弱性報告件数は33件でした。

報告された脆弱性の分析内容は、以下の通りです。

 

1. Web脆弱性の発生件数:2022年第2四半期の月平均Web脆弱性発生件数は11件で、5月には最も多い14件が報告されました。

2. CVSS(Common Vulnerability Scoring System)* 推移: 4月は14%、5月は21%で増加傾向にありましたが、6月には8%にまで減少しました。MEDIUM Level脆弱性は85%から41%まで減少しました。
*脆弱性を点数で表記するため、0から10まで加重値を付与し計算する方式です。点数が高いほど、深刻度が高いです。

3. 上位Web脆弱性の攻撃動向: 2022年第2四半期の場合、前期と同様でSQL Injectionが主な脆弱性として報告され、その次にCross SiteScripting、Remote Code Executionと続いています。

1) 4月: Other 42%(3件) / Remote Code Execution 28%(2件)

2) 5月: SQL Injection 71%(10件) / Other 21%(3件)

3) 6月: Cross Site Scripting 41%(5件) / Remote Code Execution 25%(3件)

4. Web脆弱性の攻撃カテゴリ: Web脆弱性の攻撃カテゴリ別に分析した結果、最も多く報告された脆弱性はSQL Injection(36%、12件)とCrossSite Scripting(18%、6件)で全体の約5割を占めます。したがって、この2つの脆弱性に対しては、更に注意を払う必要があります。

当該脆弱性を予防するためには、ペンタセキュリティの最新Web最弱性トレンドレポートの分析結果に基づいたパッチ適用やセキュアコーディング作業がお薦めです。しかし、完璧なセキュアコーディングは不可能であり、持続的なセキュリティのためにはWebアプリケーションファイアウォールを活用した深層防御(Defense indepth)の実装を考慮しなければなりません。

 

*EDB/CVE-Reportはペンタセキュリティシステムズ株式会社とクラウドブリック株式会社が四半期毎に公表している最新Web脆弱性トレンドレポートです。本レポートは、Web脆弱性において世界的に幅広く参考にされている「Exploit-DB」より公開されている情報を踏まえ作成されています。EDB/CVE-Reportは、各Web脆弱性に対する危険度及び影響度を詳しく分析し、特定のWebアプリケーションにおけるDependency(依存度)まで提示しているため、専門的知識を持っていない一般のお客様でもWeb脆弱性のトレンド情報を理解することができます。

 

[tek_button button_text=”EDB/CVE-Report ダウンロード” button_link=”url:report-download/#1620585409776-1d194b1c-98da” button_position=”button-center”]

 

製品・サービスに関するお問い合わせはこちら

サービス体験はこちら

無償トライアル申請はこちら

パートナー制度お問合せはこちら

 

cloudbric - press release

【情報】2021年第4四半期の最新Web脆弱性トレンドレポート(EDB/CVE-Report)リリース

2021年第4四半期の最新Web脆弱性トレンド情報

2021年10月から12月まで報告されたExploit-DBの脆弱性報告件数は119件です。

脆弱性の分析内容は、以下の通りです。

 

1. Web脆弱性の発生件数: 2021年第4四半期のWeb脆弱性は平均40件で、10月は最も多い62件が報告されました。

2. CVSS(Common Vulnerability Scoring System)* 推移: HIGH Levelの脆弱性を分析した結果、10月の6.45%から、11月の7.89%、そして12月は21.05%で増加傾向が見られました。MEDIUM Levelの脆弱性においては、58%から47%まで減少しました。
*脆弱性を点数で表記するため、0から10まで加重値を付与し計算する方式です。点数が高いほど、深刻度が高いです。

3. 上位Web脆弱性の攻撃動向:2021年第4四半期は前四半期に続き、Cross Site Scripting、SQL Injection、Remote Code Executionが主な脆弱性として観察されました。

1) 10月: SQL Injection 30%(19件) / Cross Site Scripting 29%(18件)

2) 11月: Cross Site Scripting 42%(16件) / SQL Injection 28%(11件)

3) 12月: Remote Code Execution 36%(7件) / Cross Site Scripting 15%(3件)

4. Web脆弱性の攻撃カテゴリ: Cross Site Scriptingが31%(37件)と最も多く発生しており、その次にはSQL Injectionが27%(33件)と続いています。この2つの脆弱性は第4四半期に発生したWeb脆弱性の半分以上(58%)を占めており、これに対する備えが必要となります。

 

当該脆弱性を予防するためには、ペンタセキュリティの最新Web最弱性トレンドレポートに基づいた、最新パッチやセキュアコーディングがお薦めです。しかし、完璧なセキュアコーディングは不可能であり、持続的にセキュリティを維持するためにはWebアプリケーションファイアウォールを活用した深層防御(Defense indepth)の実装を考慮しなければなりません。

*EDB/CVE-Reportはペンタセキュリティシステムズ株式会社とクラウドブリック株式会社が四半期毎に公表している最新Web脆弱性トレンドレポートです。本レポートは、Web脆弱性において世界的に幅広く参考にされている「Exploit-DB」より公開されている情報を踏まえ作成されています。EDB/CVE-Reportは、各Web脆弱性に対する危険度及び影響度を詳しく分析し、特定のWebアプリケーションにおけるDependency(依存度)まで提示しているため、専門的知識を持っていない一般のお客様でもWeb脆弱性のトレンド情報を理解することができます。

 

[tek_button button_text=”EDB/CVE-Report ダウンロード” button_link=”url:report-download/#1620585409776-1d194b1c-98da” button_position=”button-center”]

 

製品・サービスに関するお問い合わせはこちら

サービス体験はこちら

無償トライアル申請はこちら

パートナー制度お問合せはこちら

 

cloudbric - press release

【情報】2021年第3四半期の最新Web脆弱性トレンドレポート(EDB/CVE-Report)リリース

2021年第3四半期の最新Web脆弱性トレンド情報

2021年7月から9月まで報告されたExploit-DBの脆弱性報告件数は142件です。

脆弱性の分析内容は、以下の通りです。

    1. Web脆弱性の発生件数: 2021年第3四半期のWeb脆弱性は平均47件で、7月には最も多い53件が報告されました。
    2.  CVSS(Common Vulnerability Scoring System)* 推移:HIGH Levelの脆弱性を分析した結果、7月から9月にかけて、0%から2%、そして4%へと増加傾向が見られました。MEDIUM Levelの脆弱性においては、60%から65%まで増加した後、63%まで小幅ながら減少しました。
      *脆弱性を点数で表記するため、0から10まで加重値を付与し、計算する方式です。点数が高いほど、深刻度が高いです。
    3. 上位Web脆弱性の攻撃動向:2021年第3四半期は前四半期に続き、Cross Site Scripting、SQL Injection、Remote Code Executionが主な脆弱性として観察されました。

1) 7月: SQL Injection 26%(14件) / Remote Code Execution 26%(14件)

2) 8月: SQL Injection 30%(13件) / Cross Site Scripting 27%(12件)

3) 9月: Cross Site Scripting 28%(13件) / Remote Code Execution 21%(10件)

  • Web脆弱性の攻撃カテゴリ: Cross Site Scriptingが26%(38件)と最も多く発生しており、その次にはSQL Injectionが25%(36件)と続いています。この2つの脆弱性が第3四半期に発生したWeb脆弱性の半分以上(51%)を占めており、これに対する備えが必要となります。

 

当該脆弱性を予防するためには、ペンタセキュリティの最新Web最弱性トレンドレポートに基づいた、最新パッチやセキュアコーディングがお薦めです。しかし、完璧なセキュアコーディングは不可能であり、持続的にセキュリティを維持するためにはWebアプリケーションファイアウォールを活用した深層防御(Defense indepth)の実装を考慮しなければなりません。

*EDB/CVE-Reportはペンタセキュリティシステムズ株式会社とクラウドブリック株式会社が四半期毎に公表している最新Web脆弱性トレンドレポートです。本レポートは、Web脆弱性において世界的に幅広く参考にされている「Exploit-DB」より公開されている情報を踏まえ作成されています。EDB/CVE-Reportは、各Web脆弱性に対する危険度及び影響度を詳しく分析し、特定のWebアプリケーションにおけるDependency(依存度)まで提示しているため、専門的知識を持っていない一般のお客様でもWeb脆弱性のトレンド情報を理解することができます。

 

[tek_button button_text=”EDB/CVE-Report ダウンロード” button_link=”url:report-download/#1620585409776-1d194b1c-98da” button_position=”button-center”]

 

製品・サービスに関するお問い合わせはこちら

サービス体験はこちら

無償トライアル申請はこちら

パートナー制度お問合せはこちら

 

SQL Injection攻撃

SQL Injectionとは?脆弱性に対する3つの対策について解説!

WebサイトやWebアプリケーションのセキュリティに対する脅威の1つに「SQL Injection」という攻撃手法が存在します。ペンタセキュリティが公開した2021年第1四半期のWeb脆弱性レポートによると、1位はXSS(Cross Site Scripting)で44%、続いてSQL Injectionが26%で2位を占めています。WebサイトやECサイトの運営をしているのであれば、個人情報の漏洩やサイトの改ざん阻止のために「SQL Injection(SQL インジェクション)」についてよく理解しておかなければなりません。本記事では、「SQL Injection」による攻撃のセキュリティ対策のポイントについて解説しています。また、後半では「SQL Injection」の実例も紹介しています。

 

SQL Injectionとは?

Webのデータはすべてデータベース(DB)に格納されています。そもそも、SQLとは「Structured Query Language」の略で、データベース上で下記の操作を行うために使用される言語のことをいいます。

  • データの追加
  • データの更新
  • データの削除
  • データの検索
  • テーブルの作成
  • テーブルの削除
  • テーブルの主キーの設定
  • ユーザ権限の付与

SQLはプログラミング言語ではなく、データベースを操作するためのデータベース言語です。そして、「Injection」は、「注入」と訳せます。つまり、「SQL Injection」とは、不正なSQLをWebサイトに送り、そのサイトを改ざんしたり、情報を漏洩させたりする悪質なサイト攻撃のことを意味します。また、攻撃そのものだけでなく、その攻撃を許してしまう情報セキュリティの脆弱性のことも指します。

「SQL Injection」による攻撃を具体的に説明しますが、通常、WebサイトでユーザIDやパスワードを入力すると不正な文字列が入力されていないか入力エリアのチェックが行われます。しかし、脆弱性があるWebサイトの場合、悪意のある攻撃者が下記のような「SQL文を含む文字列」を入力すると、サイトにログインできてしまったり、ユーザ全員のメールアドレスなどのデータが取得できてしまったりします。

$name = ‘\’ OR 1 = 1;
OR ‘A’ = A
1 or ‘1’ = ‘1’;

 

SQL Injectionが悪用される理由とは?

一般的に、WebサイトのユーザID・パスワード入力では文字列しか入力しません。しかし、脆弱性があるWebサイトの場合、上記のようなSQL文を含む文字列を命令文として認識させることができるのです。そのため、データベースが自由に操作されてしまいます。そして、悪意のある攻撃者がSQL Injectionを悪用する理由は、データベースで個人情報を閲覧したり盗み出したり、データベースの変更・消去といった悪質な行為を行うためです。

 それでは、実際に社員データを出力するプログラムをもとに、SQL Injectionを実践してみましょう。

例えば、下記のようなテーブルがあったとします。

id name mail created
1 一郎 ichirou@example.com 2021-06-05 00:00:00
2 二郎 jirou@example.com 2021-06-05 00:00:00
3 三郎 saburou@example.com 2021-06-05 00:00:00

そして、下記のようなSQL文がプログラム内に書かれていたとします。

$id = $_POST[‘id’];
$sql = ‘SELECT id, name, mail, created FROM employee WHERE id = ‘.$id;

このSQL文は、POSTされたidの値を元にして社員のデータをすべて表示するプログラムです。

例えば、id=1をPOSTすると、下記のデータが出力されます。

id name mail created
1 一郎 ichirou@example.com 2021-06-05 00:00:00

しかし、POSTされたidに、下記のような値が含まれていた場合は、どのようになるのでしょうか。

1 OR 1 = 1

SQL文は、

$sql = ‘SELECT id, name, mail, created FROM employee WHERE id = 1 OR 1 = 1’;

と同様のものが実行されてしまいます。そして、このSQL文を実行すると、下のように他の社員の情報まで出力されてしまいます。これを悪用すれば、「SQL Injection」で個人情報を閲覧できます。

id name mail created
1 一郎 ichirou@example.com 2021-06-05 00:00:00
2 二郎 jirou@example.com 2021-06-05 00:00:00
3 三郎 saburou@example.com 2021-06-05 00:00:00

 

SQL Injection攻撃の脆弱性を2つのポイントで解説!

WebサイトがSQL Injectionによる攻撃を受ける場合、その目的として多いケースが「Webサイトの改ざん」と「個人情報の漏えい」の2つです。

Webサイトの改ざん

脆弱性のあるWebサイトにSQL Injectionを用いることで、そのコンテンツから接続するデータベースに、管理者・開発者の意図しないプログラムを書き込み、改ざんすることが可能です。SQL Injectionによって、Webサイト上に表示されるテキストが改ざんされたり、挿入した覚えのない画像が表示されてしまうなど、コンテンツが不正に変更されるケースも少なくありません。また、被害だけでなく、改ざんしたWebサイトを閲覧したユーザが、マルウェアなどの不正なプログラムに感染する被害が継続的に発生しています。Webサイト改ざんによる被害はそれだけではなく、不正改ざんによってGoogleに危険なサイトと判断されてしまえば、検索順位が大きく下がってしまったり検索結果からの除外されてしまったりする可能性があります。

個人情報の漏洩

SQL Injectionで、データベース内のユーザIDやパスワード・クレジットカードの番号などの重要な個人情報を抜き取ることも可能です。2011年にSONYのゲーム用のサービス「PlayStation Network」を利用しているユーザ情報が漏洩したことがありますが、「SQL Injection」攻撃によることが原因でした。抜き取られた情報のなかには、「会員の氏名」、「住所」、「メールアドレス」、「生年月日」、「会員ID」、「パスワード」などが含まれていたといわれています。

 

必須!SQL Injection攻撃を防止する3つの対策とは?

SQL InjectionによるWebサイト攻撃は、しっかりと対策をすれば防止できます。今回紹介する対策方法は、下記の3つです。

対策① WAFの導入

SQL Injectionを悪用した攻撃への対策の1つに、WAFの導入が挙げられます。WAFとは「Web Application Firewall」の略で、分かりやすくいえばファイアウォールの1種。その特徴は、直接管理・改修することができないWebアプリケーションを攻撃から守ってくれます。導入すれば、Webアプリケーションを用いたネットショッピングやゲーム、インターネットバンキングなどのWebサービスが保護できます

対策② 脆弱性診断によるチェック

Webサイトの脆弱性は、自分ではなかなか判断できません。そのため、セキュリティ診断サービス・脆弱性診断サービスなどを活用して、Webサイトやクラウドサービス上でさまざまなサービス提供を実現するWebアプリケーションの脆弱性の有無をチェックする必要性があります。ちなみに、脆弱性診断サービスには有償のものと無償のものがあります。無償だと費用をかけずに脆弱性診断ができますが、ある程度の知識が必要となります。

そもそも、脆弱性があるとSQL InjectionによるWebサイト攻撃は防止できないため、費用がかかっても脆弱性診断をしておくことはおすすめです。

対策③ エスケープ処理

エスケープ処理は、SQL Injection攻撃における対策の基本です。そもそもエスケープ処理とは、プログラム中で使用する特殊な記号を意味の繋がらない文字として扱う処理のことです。プログラム言語は、記号に特殊な意味を持っていることが多く、そのプログラム言語の特殊性が悪用されてSQL Injection攻撃を受けます。

エスケープ処理をしておけば、WebサイトがSQL Injectionによる攻撃を受けても、入力した言語がプログラム言語ではなく意味を持たない言語として認識されため、被害を防ぐことができます。

 

SQL Injectionにおける対策方法の実例

今回は、SQL Injectionによるデータベースへの問い合わせを実行するプログラムの実例です。プログラム内に脆弱性があり、そこからSQL Injection攻撃を受けますが、その対策方法についても実例で紹介しています。それでは、ユーザ名ごとに情報が分けられているデータベースから、指定したユーザ名に一致する情報を指定する下記のSQL Injectionを例に解説していきます。

SELECT * FROM items WHERE owner = <userName> AND itemname = <itemName>;

対象とするプログラムはこちら。「C#」でのコードを例にしています。

string NameA = ctx.getAuthenticatedUserName();
string valueA = “SELECT * FROM items WHERE owner = ‘” + NameA + “‘ AND toolname = ‘” + ItemName.Text + “‘”;
nsda = new SqlDataAdapter(query, conn);
DTd = new DataTable();
nsda.Fill(dt);


SQLで「USER」の情報を出力。しかし、下記コードには脆弱性がみられます。 

ここに「OR ‘z’=’z’」を追加することで、WHEREを常に真にして、正しいユーザIDとパスワードを入力することなく、データベースにアクセスが可能になります。

 SELECT * FROM items WHERE owner = ‘USER’ AND toolname = ‘name’ OR ‘z’=’z’;

また、「OR ‘z’=’z’」はtoolnameの値に関係なく、検索条件が真として成立してしまい、toolnameが常に返ってきます。そのため、ログインを許可されていないユーザでもログイン可能な状態になってしまいます。

これにより、USERの情報だけではなく、itemsテーブルに格納されているすべてのデータを操作が可能。結果として、下記のSQLと同じ処理が行われます。

SELECT * FROM items;

ちなみに、SQLでは、ユーザIDとパスワードの組み合わせは、次のような形でチェックされます。

SELECT*FROM tableA
WHERE user=’USER′ and pass=’PASSWORD′;

しかし、C#の例と同様に「’or’1’=’1」を使うことでユーザ認証を回避できます。

 WHERE user=’USER′ and pass=”PASSWORD”or’1’=’1′;

同じように、以下のようなSQL文を使うことでデータの消去も可能です。

 name’; DELETE FROM items; SELECT * FROM items WHERE ‘a’=’a

 

さいごに

今回は、「SQL Injection」の危険性とその対策方法について解説してきました。脆弱性のあるWebサイト「SQL Injection」による攻撃を受ける可能性が高く、被害にあった場合はコンテンツやユーザの重要な情報を守ることはできません。悪質な攻撃者による「SQL Injection」での攻撃は、現在も頻発しています。ユーザ情報を扱うWebサイトを運営するのであれば、必ずその対策はしておきましょう。

 

SQL Injection攻撃からWebサイトを守る方法! クラウド型WAFサービス「Cloudbric WAF+」

Cloudbric WAF+