skillup

技術ブログ

Database サーバー・ネットワーク

SQLインジェクション

投稿日:2017年2月2日 更新日:

セキュリティ関係の知識がぬるいのでちょっとお勉強。

知っていることもあるが復習もかねて勉強を。

SQLインジェクションとは?

SQLの不備を利用して、システムを攻撃されること。

具体的な攻撃方法はWikiが詳しい

被害

データベースを攻撃されることになるので個人情報の漏洩、データの改ざん

対策

  • SQL文の組み立てはすべてプレースホルダで実装。(あるいは引数のすべてにエスケープ関数を使う)
  • エラーメッセージをブラウザに表示しない。情報を与えない。
  • エラーメッセージ自体はログに正常に吐く
  • 正規表現チェックなど値のチェックを入れる
  • データベースに適切なアカウントを与える(必要以上の権限を付与しない。なるべく必要最低限の範囲で済ませる。)

もっと詳しく知りたい場合は下記リンクで。

参考サイト・書籍

安全なウェブサイトの作り方

安全なSQLの呼び出し方

安全なWebアプリケーションの作り方

ソース

https://github.com/umanari145/secure

-Database, サーバー・ネットワーク
-

執筆者:


  1. […] SQLインジェクション […]

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

任意のログファイルのログローテションについて

本日は自作のログファイルをうまくローテーションさせる方法について。 自作でログを作っておりますと、日がたつにずれどんどんと容量が膨らんでいきます。 放置するととんでもない量になっていることが多いですね …

no image

MySQLの大文字、小文字問題について

MySQLでテーブルを作る際にカラムに重複を許さない制約(unique)を振ることがあると思います。 数字の場合は問題ないのですが、文字列の場合、なんと英語の大文字と小文字が区別されません。 つまりa …

no image

サーバーレスやPassについての所感など

firebaseについてここ数日ちょこちょこ触りました。一昔前はwebアプリというと、ほとんどがCentOSにapacheとMySQLを入れて・・・というパターンが大部分でしたが、2020年6月現在、 …

no image

簡易サーバー(http-serverなど)

一般的にwebアプリを構築する際にはApacheやnginxといったwebサーバーを立てることが多いのですが、ローカルの開発環境で入れるのが面倒で、もっと簡易的にサクッと入れられる仕組みが欲しかったり …

no image

シェルスクリプトテキストファイルから配列&プロセス監視シェル

またまたシェルスクリプトネタなどを。 今回はtxtファイルの文字列を読み込んで配列に入れる処理ですね。 例えば aaa bbb ccc こんな文字列がテキストファイルに格納されていたとして、これを配列 …

アーカイブ