
こんにちは!遠藤です。
第2回セキュリティ勉強会を開催しました📖
今回は、「SQLインジェクション」について、講義しましたので、一部内容を公開します!
Webページの脆弱性を突いたサイバー攻撃に対して、どんな対策が打てるのかについて解説してもらいました😄
第3回講義への参加者には、これまでの講義内容のアーカイブ動画を配信しますので、エンジニアの森の公式ラインから案内をお待ちください🙇♂️
目次
1. SQLインジェクションとは?
-
SQLインジェクション:
Webサイトの入力欄などから不正なSQL文を注入し、データベースに対して不正な操作(情報の閲覧・改ざん・削除など)を行い、機密情報の漏洩や、Webサービスの不正利用などの攻撃を加えることができる -
原因:
主にWebアプリケーションの設計ミスや脆弱性が原因になっている
2.攻撃の仕組み
-
ユーザーIDやパスワードの入力欄などに仕掛けられる
-
動作例:
入力:' OR '1'='1
→ 実行されるSQL:SELECT * FROM users WHERE name = '' OR '1'='1' --'
→ WHERE句が常に真になり、全レコード取得
3. 被害事例
-
クレジットカード決済システム
数十万件のカード情報(番号、有効期限、セキュリティコード)が流出 -
自動車会員サイト
住所、氏名、性別、生年月日、電話番号、メールアドレス等の個人情報が流出
4.対策方法 / 役立つツール紹介
-
プレースホルダの利用
入力値をSQL文に直接含めず、安全な値として扱う -
エスケープ処理
特殊文字や記号を安全な形式に変換して注入を防止する -
ソフトウェアの最新版維持
脆弱性修正パッチを適用 -
WAF(Web Application Firewall)の導入
SQLiやXSS等の攻撃を検知・遮断する
🔎 Nmap(ポートスキャン)
-
用途:ネットワーク上のホスト・ポートスキャン。実行中のサービスやバージョン特定
-
公式サイト:https://nmap.org/
💻 SQLMap(SQLi自動化ツール)
-
用途:WebアプリにSQLインジェクション脆弱性があるか検査し、攻撃を自動化
5.最後に
コミュニティ内のエンジニアが主体となって『セキュリティに関する教育ゲームアプリ』の開発に向けて動いているため
まずはベースとなる知識を養うために、このセキュリティ勉強会を開催しています!
✅ セキュリティ分野に興味がある/学びたい/アウトプットしたい
✅ Web/ネイティブアプリ開発に関わりたい or 経験を積みたい
✅ ゼロイチでプロダクトを創る過程に関わりたい/過程を見てみたい(見る専で参加したい)
✅ 将来的に法人向けサービスとして育てることに携わってみたい
といった方におすすめしております!
まずは、勉強会へ参加ください!
次回、第3回目の勉強会の案内は公式ラインで案内します♪
無料エンジニアコミュニティ
すでに450名以上が参加中のコミュニティの詳細はこちら。