Burp Suiteでiphoneからのリクエストを改ざんしてみる


はじめに

Burp Suiteを使ってiphoneからのリクエストを改ざんする
チュートリアルメモ的なものを残しておきます。

同じwifi環境内につながっているiphoneとpcでの実験になります。

※ あくまで、自分の所持している環境内での実験です。
※ githubにファイルを残しているため、同じ環境で実験ができます、やって見る方は自己責任でお願いしますm(_ _)m

簡単に手順まとめ
- Dockerでflaskのwebアプリケーション立ち上げ
- burp suiteでプロキシ立ち上げ
- iphoneにプロキシ設定
- 改ざんしてみる

の流れでやっていこうと思います。

環境

  • macOS High Sierra 10.13.6
  • Burp Suite Community Edition 2.1.04

導入

  • burp suite
  • docker

を使えるよう準備をお願いします。
説明は割愛します。

環境構築

githubに今回の実験用webアプリをあげているので
もってきます。

flaskの適当なwebアプリになります。

github url
https://github.com/yuucu/burp_test

terminal
git clone https://github.com/yuucu/burp_test.git

webアプリ立ち上げ

terminal
cd burp_test
docker-compose up --build

ブラウザでhttp://localhost:5000にアクセスしてもらい、
掲示板アプリ()が見れれば立ち上げ成功です。

iphoneからのアクセスも確認しておきます。
※ pcとiphoneが同じネットワーク内にいないとアクセスできないです。

pcで他のターミナルを立ち上げifconfigでプライベートipアドレスを確認してください。

macならここにもプライベートipアドレスがのっています。

iphoneのブラウザでipアドレス:5000(ポート番号)でアクセスしてみると
以下の画面が見えるはずです。

webアプリの立ち上げ確認を行いました。
終了する際はctrl-cでサーバをストップすれば大丈夫です。

Burp Suiteでプロキシサーバの設定

Burpを立ち上げます。

Proxy -> Optionsをクリック。

1つ選択して、Editをクリック。

All interfacesを選択肢し、Okをクリック。

先程のipアドレス:8080へアクセスで以下の画面が確認できたら
プロキシサーバが起動いています。

iphone プロキシ設定

iphoneの通信にプロキシサーバを介すように設定します。

infoボタンをタップ。

プロキシを構成。

pcのプライベートipアドレスとポート番号8080を設定。

保存で完了です。

リクエスト改ざんしてみる

Burpで下のボタンが押し込まれていることを確認してください。
このボタンを押し込んでいるとき、通信をとめてburpで中身を確認するモードになっています。

この状態でiphoneからpcのプライベートipアドレス:5000へアクセスすると
pcのburpで以下になります。
通して良いのでForwardをクリックしましょう。

webアプリへアクセスできたら、iphoneから適当にメッセージを送ってみる。

burp側で中身を確認してみる。
postされている内容が確認できるので、値を書き換えてみる。

Paramsをクリックして、

Valueを編集する。

編集が終わったら、Forwardで通信を送る。

iphoneで送信後の画面を確認してみると、
送ったメッセージではなく、改ざんされたメッセが書き込まれていることが確認できる。

おわりに

駆け足で書いたので、少しわかり辛いところもあるかもしれませんが、ご了承ください。。

今回は、iphoneからの通信を改ざんしてみましたが、もちろんPCの通信もおなじようなことができます。

悪意を持ってやれば、ゲームのスコアを改ざんして送信したり、
他人の情報を改ざんして渡すことができてしまいます。

あくまで、自分の環境内での実験に留めるようお願いします。

※ 実験終了後、iphoneのプロキシ構成はオフにするよう忘れないでください。