PortSwiggerでwebセキュリティについて学べるらしい。

やってみよう。


ちょっとだけ進んだ。

学べる内容としては

SQL injection, Cross-site scripting, Cross-site request forgery, Clickjacking ...とたくさんある。

まず文章でその脆弱性についてざっくりと読み、その後演習問題として脆弱性を有するサイトをexploitして学んでいくという進み方です。

ヒントも用意されており、そのヒントだけじゃ解けない場合でもyoutubeに解説動画が上がっていて、それを見れば大抵解けるようになっています。

それでSQLインジェクションの問題を一つずつ解いていたのですが、Blind SQL injectionの問題になった瞬間、解けなくなりました。

なんかBurpSuiteというソフトでサーバーに送るデータを編集して脆弱性をexploitしていくのですが、無料版のcommunity editionだとその問題を解くのに非常に時間がかかるようになっていたんですよね。

有料版のprofessionalだとデータの送信が早くてすぐに解けるようになっていました。

でも一応有料版を持っていなくてもpythonを使えば解けるって動画で解説していましたがめんどくさいので次のCross-site Scriptingに進みました。


問題にはApprentice, Practitioner, Expertと難易度が分かれており、とりあえずApprenticeを全部解いていこうと思いました。

Cross-site ScriptingのApprenticeを解き終わったのでCross-site request forgeryに進んでApprenticeを解こうとしました。

するとなんか解けませんでした。

ヒント通りに、解説動画も見てやったのですがなぜか解けませんでした。

この問題も有料版と無料版で解き方が少しだけ違うみたいで、でも無料版でも普通に解けるはずでした。

でもよくわかりませんでした。

なぜヒントのようにすると解けるのか、どのようにしてその脆弱性が見つかったのかなどなにか根本的なことを自分が理解できていないと感じました。

あとは自分がwebアプリケーションを作ったことがないのでいろいろ基本的な知識も足りていないんだなぁと実感しました。

最初の方はwebセキュリティを全て学ぼうと思っていました。

しかしせっかく趣味で学んでいるので楽しめるように、全部の脆弱性について細かく学ぶのではなく、面白そうだなって思える脆弱性を見つけてそれについて深く学べたらいいなと思いました。

また今度ふと思い出した時に戻ってきてやってみたいと思います。