~Web Securityの王道ソフト 「BurpSuite」を学ぶ~
目的

Webセキュリティを深く学び、特に ”Burp Suite” を使いこなすことは、ハッカーになるための重要なステップです。
なぜWebセキュリティが重要なのか?
現代社会はインターネットに深く依存しており、Webアプリケーションは私たちの生活に欠かせない存在です。しかし、その裏側では様々な攻撃が日々行われています。
Webセキュリティを学ぶことで、これらの攻撃からシステムを守り、より安全なインターネット環境を実現することができます。
また、自分がいつも使っているサイトがどのようにして情報をやり取りしているのかという裏側を知り、システムについて勉強できるのが個人的に面白かったです。
Burp Suite
Burp Suiteは、Webアプリケーションのセキュリティテストに特化した統合プラットフォームです。インターフェースが直感的で、初心者から上級者まで幅広い層に利用されています。


多様な機能:
Proxy: Webアプリケーションとの通信を傍受・改ざん
Repeater: HTTPリクエストを繰り返し送信し、動作を確認
これ以外にも機能があるので勉強していく中で学習していってください!
カスタマイズ性:
スクリプト言語を使って、独自の機能を追加することができます。
Burp Suiteを学ぶことで得られるスキル
脆弱性発見: Webアプリケーションの脆弱性を効率的に発見できるようになります。
攻撃手法の理解: 実際に攻撃をシミュレーションすることで、攻撃者の視点で考えることができます。
ハッキングを学習していく中で必須と言えるWebアプリの攻略を手伝ってくる心強い味方です。
Burp Suiteを簡単にいうと
・インターネットの通信内容を詳しく見る:
ウェブサイトと私たちのコンピューターの間でやり取りされている情報を、まるで手紙を開封するように詳しく見ることができます。
・ウェブサイトの脆弱性を探す:
ウェブサイトに隠された穴(脆弱性)を見つけ出すことができます。この穴を利用すると、悪意のある人が不正に侵入したり、情報を盗んだりすることができてしまいます。
・攻撃をシミュレーションする:
実際に攻撃者がどのようにウェブサイトを攻撃するのか、その様子をシミュレーションすることができます。

PortSwigger Web Security Academy

今回はBurpSuiteを開発したPortSwigger社が運営する、Webアプリケーションの脆弱性診断やペネトレーションテストを学習するための無料で実践的なオンライントレーニングプラットフォームです。
Webアプリケーションの主要な脆弱性領域をすべて学ぶことができます。
また、ペネトレーションテストの方法論、ソーシャルエンジニアリング(ネットワークに侵入するために必要となる重要な情報を、情報通信技術を使用せずに盗み出す方法)などのトピックも扱っているので本当にこれさえ学べば基礎は間違いないと思います。
ビデオチュートリアル、記事、ラボ、フォーラムなど、豊富な学習リソースがあります。
これらはどのステップの学習者、あらゆるレベルのハッカー向けに設計されています。
豊富なトピックで勉強のし甲斐がありますね。

感じたこと

おすすめポイント
1.無料で利用できる
2.解決しやすい:Labにはすぐ閲覧できるSolutionがあり、動画付きのCommunity solutionsというものもあり、躓いたときに助かる。
3.実践的な学習::Academyは実践的な学習に重点を置いている。
4.幅広いトピック
5.豊富なリソース
6.最新の情報: Academyは常に更新されており、最新の情報を学ぶことができる。
あんまりなところ

1.環境を用意する必要がある。TryHackMeやHackTheBoxのようなボタン1つで整備された環境を使えない。
Lab(勉強コンテンツ)
0.PortSwigger Web Security Academyにアクセス
https://portswigger.net/web-security
個人的にLabにたどり着くまでややこしかったので手順を記録しておきます。
1.ログイン後画面、”MY ACCONT”下のハンバーガーメニュー(3本線のやつ)をクリックし、表示された”Academy”をクリック。

2.”Academy home”をクリックし、”All content”をクリック、”All topics”または”All labs”を選択

3.興味のあるものを選択する。


実践練習
今回は、「SQL injection」を学習します。
Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data
“ACCESS THE LAB”をクリック。

問題文に「ユーザーがカテゴリを選択すると、アプリケーションは次のような SQL クエリを実行します。」と書いているので、カテゴリを選択してみる。すると、URLに選択したカテゴリが追加されている。

問題文には、解決するためにはアプリケーションに 1 つ以上の未リリースの製品を表示させる SQL インジェクション攻撃を実行します。
「SELECT * FROM products WHERE category = ‘Gifts’ AND released = 1」
released = 1、リリースされていない製品を隠すために使用され、未発売の製品については、 released = 0と想定できます。
①’Gift’以降をコメントアウト
②’OR’を使ってreleased=0を含む商品を表示させる
Kali Linux(自分の構築した環境)を立ち上げ、Terminalを開き、「burpsuite」を入力して実行。

”Next” > “Start Burp”を選択して、”Target”タブから”Open browser”をクリック

立ち上がったブラウザ(BurpSuite組込)にACCESS LABで開いたURLをペーストする。
サイトが開いた後、”Intercept on” に変更する。
※Intercept on にすることでBurpSuiteがWebとの仲立ちをすることでやりとりを見えるようにできます。

その後、再びブラウザを開き、カテゴリから’Gifts’を選択するとIntercept画面が開き、HTTPリクエストが表示される。

リクエスト上で右クリックし、”Send to Repeater”を選択し、Repeaterタブに移動する。
※Repeaterは送信する情報を任意に変更して受信結果を確認・変更するために使用したりします。
詳細は調べてください。ほかの機能も併せて
①コメントアウトによるreleased=1無効化を試す。
コメント)しかし、対策されているのかできない。

②OR’を使ってreleased=0を含む商品を表示させる
「’+or+’1’=’1 」を追加してSendをクリック。
コメント)するとOKでした。
まとめ
「Burp Suite」の使い方は勉強できましたか?
よく使うツールなので慣れるためにも、たくさんチャレンジしてみましょう。
Lab内のテキストや解説を参考にHow toを学びながら、ツールも勉強できるので非常に為になる勉強サイトの1つですので、ぜひ使ってみてください!
Webセキュリティ、そしてBurp Suiteは、ハッカーになるための第一歩です。
楽しみながら学習を進め、Webセキュリティのスペシャリストを目指しましょう!
ほかにもたくさんの勉強プラットフォームがあるのでおすすめを紹介したいと思います。
TryHackMe

HackTheBox

VulnHub

注意点
違法行為は絶対に行わない: 許可なく他人のシステムに侵入することは違法行為です。必ず、合法的な範囲内で実験を行いましょう。
倫理観を持つ: ハッキングは、倫理的な側面も考慮する必要があります。
情報漏洩に注意: 実験中に個人情報や機密情報が漏洩しないよう、十分に注意しましょう。