Closed10

体系的に学ぶ安全なWebアプリケーションの作り方 1

moominmoomin

これね。第2版の方。
https://www.amazon.co.jp/体系的に学ぶ-安全なWebアプリケーションの作り方-第2版-脆弱性が生まれる原理と対策の実践-徳丸/dp/4797393165/ref=tmm_hrd_swatch_0?_encoding=UTF8&qid=&sr=

1章 Webアプリケーションの脆弱性とは

脆弱性とは悪用できるバグである

脆弱性があるとなぜダメなのか

  • Webサイト運営者の経済的損失があったり
  • 法的な要求がもちろんあり
    • 個人情報保護法とか
  • Webサイト利用者が回復不可能なダメージを受ける場合が多く
    • 個人情報とか、なりすましとか
    • デジタルタトゥーってやつかな
  • Webサイト利用者にたいしてサイトの安全性について嘘をつくことになり
  • 攻撃インフラ構築に荷担したり
    • ボットネットワークとか
moominmoomin

脆弱性があるということは生まれる(作られる)理由があるわけで
その理由は大きく2つあって

  1. バグによるもの
    • 具体的な脆弱性はSQLインジェクションとか、XSSとか
  2. チェック機能不足によるもの
    • 具体的な脆弱性はディレクトリ・トラバーサルとか

SQLインジェクションとかXSSとかCSRFとかそれ単体は脆弱性の名前で攻撃のことではなくて
それらの脆弱性を使った攻撃の場合、XSS攻撃とかCSRF攻撃となるわけか

moominmoomin

Webアプリケーションのセキュリティだけを確保するだけではだめで
通信にも気を付けないといけなくて
本書では積極的に安全性を強化する機能のことを「セキュリティ機能」(=
=セキュリティ要件)と呼んでいくそうで
ただ実際に開発するときはこの辺りは費用との相談なわけで

moominmoomin

本書の構成は以下のようになっていて
1章は上記の通りで
2章は実習環境のセットアップで
3章はWebアプリケーションの基礎知識やセキュリティ機能の説明で
4章は本書のメインで、Webアプリケーションの機能ごとに発生しやすい脆弱性の説明があって、それの原理や対策があって
5章は代表的なセキュリティ機能の説明で
6章は文字コードとセキュリティの話題で
7章は脆弱性診断の入門的解説で
8章はWebアプリ以外の側面からWebサイトの安全性を高めるための施策の話しで
9章は安全なWebアプリ開発のための開発プロセスについての説明で

moominmoomin

2章 実習環境のセットアップ

本書記載の手順に従ってVirtualBoxに実習用仮想マシン(実習マシン)をインストールして起動して
実習マシンのIPを確認すると 192.168.56.101 で
VirtualBoxのParrotで実習マシンに接続できることが確認できて

┌─[parrot@parrot-virtualbox][~]
└──╼ $ping 192.168.56.101
PING 192.168.56.101 (192.168.56.101) 56(84) bytes of data.
64 bytes from 192.168.56.101: icmp_seq=1 ttl=63 time=0.885 ms
64 bytes from 192.168.56.101: icmp_seq=2 ttl=63 time=1.05 ms
64 bytes from 192.168.56.101: icmp_seq=3 ttl=63 time=0.944 ms
64 bytes from 192.168.56.101: icmp_seq=4 ttl=63 time=0.907 ms
64 bytes from 192.168.56.101: icmp_seq=5 ttl=63 time=0.618 ms
^C
--- 192.168.56.101 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4039ms
rtt min/avg/max/mdev = 0.618/0.881/1.052/0.143 ms

firefoxでアクセスできて

シャットダウンするときは↓で

$ sudo shutdown -h now
moominmoomin

/etc/hostsを編集して

┌─[root@parrot-virtualbox][/etc]
└──╼ #cat hosts
# Host addresses
127.0.0.1  localhost
127.0.1.1  parrot-virtualbox
::1        localhost ip6-localhost ip6-loopback
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters
192.168.56.101 example.js api.example.net trap.example.com

http://example.jp/でアクセスできることが確認できて

moominmoomin

ParrotにOWASP ZAPはもともとインストールされてて

FireFoxにFoxyProxyをインストールして設定ファイルをインポートするともともとあったburp用の設定が消されてしまったので改めて追加して

moominmoomin

OWASP用のProxy設定にパターンが設定されていて

moominmoomin

OWASP ZAPで通信が確認できて
Webメールも確認できて

このスクラップは2022/05/26にクローズされました