ストックドッグスマートフォン用の表示で見るストックドッグKatoTakahiro。金融系の会社で働くSEが株やPython、その他諸々について書いています。Suiteでやってみたセキュリティ目次セキュリティについて少し勉強しましたリクエストとレスポンス使用するツールHTTP通信を使ってるWebサービスないかなぁ改ざんする手順はてなの記事を改ざんしてみるまとめセキュリティについて少し勉強しました浅い知識なので、メモ程度です。今日の記事でやることを軽くまとめると、自分のはてなブログの通信を傍受して、改ざんしてみようというものです。こんな記事を投稿して、それを途中で改ざんして。htmlのbodyを改ざんしました。(記事の内容に「ほげほげほげ」と投稿されるはずが、「あなたのリクエストを改ざんしました」となっています)これが他人のものだと不正アクセス禁止法に抵触します。今日はリクエストの内容を改ざんしてみます。攻撃の分類で言うと、HTTPヘッダインジェクションなんかが近いと思います。SuiteというHTTPプロキシを使用します。portswigger.netこのツールでHTTP通信を閲覧、改ざんをすることができます。脆弱性診断で広く使われるツールで、他の有名なツールにfiddlerなどがあげられます。重要なポイントとして、これはHTTP通信なら改ざん可能というところです。HTTPS通信の改ざんは行えません。(基本的には)HTTPSはSSLを使用して、通信内容を暗号化しているので、通信内容は見ることはできません。サーバー証明書も持っていないので復号化もできませんし、しても改ざんが検知されます。逆にHTTPは、通信は平文です。通信さえ傍受してしまえば、改ざんが可能というわけです。HTTP通信を使ってるWebサービスないかなぁHTTPSは改ざんはできないので、HTTPを使用しているwebサービスを探していました。すると、すごく身近にHTTP通信を使用しているWebサービスがありました。はてなブログです笑そう言えば、ブラウザのURLのところに鍵マークがありません。(むしろビックリマークがついています)ということは、記事の更新等も平文で行われているわけですね(驚愕)HTTP通信を使用しているのは、ECサイトみたいな金銭が発生するWebサービスではないので、そこまで厳格なセキュリティは求められないからでしょうか。一昔前まえはLINEも平文でメッセージの通信を送っていたようなので、案外そんなもんなのかな。(現在はLINEの通信は暗号化していたはずです)なので、自分のアカウントで新しい記事をアップロードし、そのアップロードしようとしている通信を改竄してみます。成功すれば、記事の内容が変わってアップロードされることになります。改ざんする手順プロキシサーバーをたてます。はてなサーバーこんな感じに自分PCとはてなサーバーの間にひとつプロキシをはさみます。このプロキシで、自PCから送られたレスポンスを傍受して、改ざんしてから、はてなサーバーに送りつけます。いうChromeのアドオンを追加して、プロキシサーバーを立てます。Suiteは、立てたプロキシサーバーを通る通信をみることができます。SwitchySharpの設定はこんな感じ。Suiteを開いて、通信をみます。historyにプロキシを通っている通信が表示されます。クリックすると、インターセプトが開始されます。インターセプトとは、一つの通信を傍受して、他の通信をせき止めている状態です。傍受した通信は、テキストベースなので改竄し放題です。こんな感じで、HTTP通信を傍受して改竄を行います。Suiteのインターセプト機能をオンにしてから公開します。Suiteでキャッチできます。キャッチしたHTTP通信のheadとbodyを見るとこんな感じ。title=%E3%81%BB%E3%81%92%E3%81%BB%E3%81%92&body=%E3%81%BB%E3%81%92%E3%81%BB%E3%81%92%E3%81%BB%E3%81%92一瞬、暗号化されているように見えますが、これはただのエンコードです。ちなみにURLエンコード。URLでは、日本語などを送信できないのでURLエンコードという方法でエンコードします。エンコードなので、もちろんデコードが可能です。エンコードとデコードができるWebサービスもあります。indexここでデコードすると...%E3%81%BB%E3%81%92%E3%81%BB%E3%81%92#デコード結果ほげほげなので、「あなたのリクエストを改ざんしました」という文章をURLエンコードして、傍受した通信のbody部にはっつけます。Suiteで送ります(フォワード)。すると...改ざん完了ということになります。まとめHTTP通信は平文で送っているので、傍受されている危険性を考えなければいけないです。フリーWiFi(スタバやマクド等)でHTTP通信を行う際は、傍受されているものとしたほうが良いですね。傍受されても問題ない程度の通信しかおこなっちゃいかんということですね。(27)注目記事プロフィール金融系の会社で働くSEが株やPython、その他諸々について書いています。読者になるスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。