こんばんは
本日 5/16 に脆弱性を直して学ぶ!Web セキュリティハンズオン by Recruit というイベントに参加したので、軽くですが参加記を残しておきたいと思います。
セキュリティを学べるようなイベントは(僕の観測範囲だと)少ない気がするのでとても楽しかったです!!
どんなイベント?
イベントタイトルそのままですが、事前課題となるリポジトリを与えられて、そこに残された脆弱性を修正する、当日に脆弱性 1 つ 1 つ解説してもらう、といったイベントでした。
また、僕が一方的に知っている方などの豪華解説陣となっていて、とても貴重な機会だなぁ…と感動していました。
以下が事前課題となっていた、いわゆるやられアプリ Badsns です。
見ての通り Rails のアプリで、この中に計 20 個の脆弱性が存在します。
元々 Recruit で新卒研修に用いられるものだそうです。
事前課題に関しては僕は締め切り直前に申し込んだということもあり、全く手を付けられず当日イベントに参加しました。割と同じ理由で手をつけてない人が何人かいて安心しました。
誰かが WriteUp をあげる的なことをいっていた気がするので、詳しく知りたい方は誰かが上げてくれる WriteUp をお待ちください…(人任せ)(僕は軽く目を通しただけで自分で 1 つも解いてないので…)
内容に関して
脆弱性は簡単な SQLi やディレクトリトラバーサルから、SSRF などの珍しい(気がする)ものまで豊富なバリエーションのものが存在しました。
Rails の open 関数などの仕様を利用したものなどもあり、Rails をにわかなりに扱うこともあるので、アプリの実装側としてもこれは注意しないと自分で脆弱性作っちゃうな…と感じました。
また SSRF に関しては僕は知識としてしか知らず、実際にどのように SSRF を利用した攻撃が行われるかなどがわかっていなかったため、攻撃例やクラウド環境を交えた悪用のされ方/対策などとても学びが深かったです。
僕は普段から Hack the Box、時々 CTF といった感じで攻撃側に回ることが多く、
「脆弱性があることがわかりゃ後は攻撃するだけ!中身の実装がどうなってて脆弱性が生まれてるかなんて知らん!w」
といった感じだったのですが、実際に実装の際に気をつけるべき点や脆弱性の原因となっている実装など、普段の ↑ のようなことをしていては学びにくい内容を経験できました。
当日の僕のツイートを載せておきます、
MassAssignmentって初めて聞いた👀#WebSecurity_RecruitEvents
— さんぽし (@sanpo_shiho) May 16, 2020
How GitHub handled getting hacked https://t.co/JBxoYuSWzl @ZDNet & @emilprotalinskiさんから
— さんぽし (@sanpo_shiho) May 16, 2020
#WebSecurity_RecruitEvents
— さんぽし (@sanpo_shiho) May 16, 2020
Rails の CVE-2019-5418 は RCE (Remote code execution) ですhttps://t.co/RFY55yzyTH
#WebSecurity_RecruitEvents
— さんぽし (@sanpo_shiho) May 16, 2020
LIKE句に%入れまくってDoS攻撃なんてできるのか
第2回:クエリを使用したSQLインジェクションhttps://t.co/Iw6kMyKuBr
終わりに
イベントに際して、3000 円分の UberEats などで使えるギフトがもらえたりしたのですが、むしろ 3000 円払ってでも参加したいくらいの濃い内容でした。
3 時間の濃密な解説本当にお疲れ様でした & ありがとうございました!!
え、まじ???(イベントの事前課題をやってない顔 pic.twitter.com/E0m8OcGI34
— さんぽし (@sanpo_shiho) May 15, 2020