【ハッカー入門】「PortSwigger Academy」Burp Suiteを活用してWebセキュリティ完全攻略

portswigger PortSwigger Academy

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

目的

image

Webセキュリティを深く学び、特に ”Burp Suite” を使いこなすことは、ハッカーになるための重要なステップです。

なぜWebセキュリティが重要なのか?
現代社会はインターネットに深く依存しており、Webアプリケーションは私たちの生活に欠かせない存在です。しかし、その裏側では様々な攻撃が日々行われています。
Webセキュリティを学ぶことで、これらの攻撃からシステムを守り、より安全なインターネット環境を実現することができます。
また、自分がいつも使っているサイトがどのようにして情報をやり取りしているのかという裏側を知り、システムについて勉強できるのが個人的に面白かったです。

Burp Suite

Burp Suiteは、Webアプリケーションのセキュリティテストに特化した統合プラットフォームです。インターフェースが直感的で、初心者から上級者まで幅広い層に利用されています。

burpsuite1
burpsuite2

多様な機能:
Proxy: Webアプリケーションとの通信を傍受・改ざん
Repeater: HTTPリクエストを繰り返し送信し、動作を確認
これ以外にも機能があるので勉強していく中で学習していってください!

カスタマイズ性:
スクリプト言語を使って、独自の機能を追加することができます。


Burp Suiteを学ぶことで得られるスキル
脆弱性発見: Webアプリケーションの脆弱性を効率的に発見できるようになります。
攻撃手法の理解: 実際に攻撃をシミュレーションすることで、攻撃者の視点で考えることができます。
ハッキングを学習していく中で必須と言えるWebアプリの攻略を手伝ってくる心強い味方です。

Burp Suiteを簡単にいうと

インターネットの通信内容を詳しく見る:
ウェブサイトと私たちのコンピューターの間でやり取りされている情報を、まるで手紙を開封するように詳しく見ることができます。
ウェブサイトの脆弱性を探す:
ウェブサイトに隠された穴(脆弱性)を見つけ出すことができます。この穴を利用すると、悪意のある人が不正に侵入したり、情報を盗んだりすることができてしまいます。
攻撃をシミュレーションする:
実際に攻撃者がどのようにウェブサイトを攻撃するのか、その様子をシミュレーションすることができます。

イメージ

PortSwigger Web Security Academy

burpsuite3

今回はBurpSuiteを開発したPortSwigger社が運営する、Webアプリケーションの脆弱性診断やペネトレーションテストを学習するための無料で実践的なオンライントレーニングプラットフォームです。

Webアプリケーションの主要な脆弱性領域をすべて学ぶことができます
また、ペネトレーションテストの方法論、ソーシャルエンジニアリング(ネットワークに侵入するために必要となる重要な情報を、情報通信技術を使用せずに盗み出す方法)などのトピックも扱っているので本当にこれさえ学べば基礎は間違いないと思います。

ビデオチュートリアル、記事、ラボ、フォーラムなど、豊富な学習リソースがあります。
これらはどのステップの学習者、あらゆるレベルのハッカー向けに設計されています。

豊富なトピックで勉強のし甲斐がありますね。

topics

感じたこと

point
おすすめポイント

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

あんまりなところ
bad point

1.環境を用意する必要がある。TryHackMeやHackTheBoxのようなボタン1つで整備された環境を使えない。

Lab(勉強コンテンツ)

0.PortSwigger Web Security Academyにアクセス
https://portswigger.net/web-security

個人的にLabにたどり着くまでややこしかったので手順を記録しておきます。

1.ログイン後画面、”MY ACCONT”下のハンバーガーメニュー(3本線のやつ)をクリックし、表示された”Academy”をクリック。

academy1


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

academy2


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

academy3
academy4

実践練習

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

academy6


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

academy7

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


Kali Linux(自分の構築した環境)を立ち上げ、Terminalを開き、「burpsuite」を入力して実行。

academy8


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

academy9


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

academy10


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

academy11


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

academy12


②OR’を使ってreleased=0を含む商品を表示させる
「’+or+’1’=’1 」を追加してSendをクリック。
コメント)するとOKでした。

まとめ

「Burp Suite」の使い方は勉強できましたか?
よく使うツールなので慣れるためにも、たくさんチャレンジしてみましょう。
Lab内のテキストや解説を参考にHow toを学びながら、ツールも勉強できるので非常に為になる勉強サイトの1つですので、ぜひ使ってみてください!

Webセキュリティ、そしてBurp Suiteは、ハッカーになるための第一歩です。
楽しみながら学習を進め、Webセキュリティのスペシャリストを目指しましょう!

ほかにもたくさんの勉強プラットフォームがあるのでおすすめを紹介したいと思います。

TryHackMe

【ハッカー入門】TryHackMeを始めよう OpenVPN設定の仕方
画像たくさんでわかりやすい! ハッカー入門のためのTryHackMeを始める方法とOpenVPNの設定手順を詳しく解説します。初心者でも安心して学べる内容です

HackTheBox

【ハッカー入門】日本語解説付 無料で始めるHacktheBox Academy
「Web Requests」解いてみた。HTB{p493_r3qu3$t$_m0n!t0r} 無料で学べるHTB Academyの準備と実践プログラムで、専門知識を身につけ、ホワイトハッカーを目指しましょう!

VulnHub

【ハッカー入門】「VulnHub」で実践演習 CTF対策に最適!
「Kioptrix: Level 1.1 (#2)」解いてみた。仮想マシンを活用した超実践ハッキングの世界へようこそ。初心者卒業にうってつけの勉強プラットフォーム、セキュリティスキルを向上させましょう

注意点

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