やっつけ不定記

好きなときに好きなことをちゃっちゃと書いてます

第10回 tktkセキュリティ勉強会 〜PHPで理解する安全でないデシリアライゼーション〜

tktkセキュリティ勉強会に参加してきました。
https://tktksec.connpass.com/event/153073/

f:id:chocopurin:20200112223118j:plain


勉強会自体は第10回ですが、私は初参加です。
興味はあったものの、なかなか機会に恵まれず、
今回、やっとこさ参加することができました。

2020年一発目の勉強会参加ということで、リプレースPCもデビューです。
この辺りについては、また後日。

内容はPHPのデシリアライゼーションに伴う脆弱性のハンズオン。
超乱暴に書くと、あるオブジェクトをコンピュータがわかる形式に変換したり
戻したりするシーンがあるけど、やり方を間違えると任意のコードを
実行できてしまう。これを体験しましょうというものです。
オブジェクトインジェクションともいわれており、徳丸先生の記事や書籍が詳しいです。
https://blog.tokumaru.org/2017/09/introduction-to-object-injection.html
OWASP TOP 10的には「安全でないデシリアライゼーション」の方がいいのかな。

というわけで、以下、参加メモ。

1.オリエンテーション
・最年少参加者:0歳(将来が楽しみです)
・講師の自己紹介:オフレコもあるので割愛
・題材選びについて(なぜデシリアライゼーションを選んだか?)
 →資料が少なく自分で勉強するには敷居が高そう。
・事後アンケートについて
あえて手書きにしている(アットホーム感があっていいな、これ)
アンケートを出さないと会場から出ることができないw
https://twitter.com/ripjyr/status/1215866842671042560

2.PHPで理解する安全でないデシリアライゼーション(前半戦)
3.PHPで理解する安全でないデシリアライゼーション(後半戦)
・講師の説明→演習問題の繰り返し。演習中は基本的にもくもく会モード。
PHPの基礎から扱ってくださったので、いい感じに入り込めたかと
(実際に動くようにするまではめっちゃ大変だったけど)。
・__sleep()と__wakeup()が攻撃によく使われる
オープンソース等何らかの方法でソースコードをゲットできないと攻撃は難しい。
 →Joomlaとかで事例が多いのはそういうことなのかな!?
・最後の演習が時間の都合で20分→10分に変更。ムチャや(苦笑)

4.その他
演習で使うVM(2.6GB)が前日の夜遅くに配布されたようで、
そのメールに気づいたのが当日の移動中。
途中のコンビニでUSBメモリをゲットして事なきをえましたが、ちょっち焦る。
VMコピーいただいた方には本当に感謝です。
なお、VMにてUSB2.0が有効だったようで、Extensionを導入していなかった
自分のVirtualBox環境ではすぐに動作せず(えいやでUSB1.1に変更したら動いた)。

お菓子がかなり充実。演習中は格付けチェックのGackt様のごとく、
お菓子カウンター上がる上がるw

 f:id:chocopurin:20200112223121j:plain

f:id:chocopurin:20200112223125j:plain


セキュリティの薄い本の即売会もw(年末に買ったけど)

f:id:chocopurin:20200112223128j:plain