セキュリティ学習4日目
今月からweb解析についての学習になる。
webは自分も仕事でよく触っているし、パストラバーサルやクリックジャッキングなどは毎日見るような用語でもあるので馴染みは深い。
基本的に流し聞きでも理解はできた。
プロトコルの話から、URLの話、ステータスコードの話、Cookie, Sessionについてなど
webに関わるような話がメインとなる。
リクエストヘッダーやレスポンスヘッダーについて、主要なものしか意識していなかったので、今回の話から気になって調べてみようということにも気づけた。
そして、ツールの説明。
Burp Suitを使ってのリクエスト傍受を行った。
ここら辺も、普段の仕事でも使ったことあれば、ハッキング本でも使っていたので、特に困ることはなかったが、これまで触ったことがない角度での使用もあり知識の蓄積になった。
Burpの使い方をメモする。
Intercept
InterceptはOnになっていると、リクエストを堰き止めをすることができる。
これにより、BurpをProxyとして登録しているブラウザからのリクエストは、一度Burpで堰き止めされるようになる。
Firefoxからだと、Settingsの一番下から、Manual proxy conifgurationからローカルホストを指定して、ポートを変えることで、通常のブラウザからBurpを挟むようにすることもできる。
Chromeでもできるだろうから、後で試してみる。
intercept onにした状態で通信し、リクエストする先に対して存在しないパスを指定すると404が返ってくるようになる。
これが改竄。
右クリックしてRepeaterにsendすることで、何度も改竄してリクエストを送るということもできる。
しかし、これはサーバからのResponseを見るだけなので、画面上で確認するようなものには向いていない。
よくある脆弱性のメモ
脆弱性診断とは
外から見える窓が穴が空いてないかを確認するテスト。
ペネトレーションテストは、空いてる窓から侵入して、情報を取得して、きれいにしてから帰るようなもの。
ディレクトリリスティング
webサーバのディレクトリに入っているファイルの一覧が見えてしまうこと。
元々公開されているものしかないように設計されているものであれば脆弱性ではない。
一部では、Apacheとかのデフォルトだと、隠したいファイルも表示してしまう可能性がある。
ファイルに対するアクセス制限がかかっていないなどもある。
こういったところから、穴が空いてないかの確認をする。
ディレクトリトラバーサル
../などの文字列を使ってディレクトリを移動して、本来アクセスできない情報を取得すること。
例えば、https://example.com?file=../../etc/passwd などにアクセスすることでファイルの中身を取得する。
ファイル名を外部から指定できてしまうことが問題。
見えないように制御するような対策をするように伝えることが重要になる。
まとめ
これから基礎1ヶ月、実践1ヶ月の期間、恐らくBurpをメインに使っていくことになる。
ネットワークの箇所ではWireSharkをメインに使っていたが、Webの領域ではBurpを使っていく。
ホワイトハッカーはいろんなツールを使いこなしていく必要があるなぁ…と実感した。