2016年08月の #ssmjp まとめ

“トレーナーの皆様 近くにポケストップはありますが発表中はお控えくださいますようお願い致します。 ” / 他2コメント b.hatena.ne.jp/entry/ssmjp.co…#ssmjp 2016/08 – connpass” htn.to/woM3S
#ssmjp 会場に潜入したよ (@ トレンドマイクロ株式会社 – @trendmicro_jp in 渋谷区, 東京都) swarmapp.com/c/dDda2ZGIzd3
早く行きたい。(定時ダッシュなう #ssmjp
さすがトレンドマイクロ、とらのあな開こうとしたらブロックされた #ssmjp
この会場ポケストップが直接触れて便利〜 #ssmjp
運営自らポケストップスタイル #ssmjp
カリ城戦争が始まってしまった… #ssmjp
炎のたからもの=不二子の心情ではないか説が #ssmjp
解釈争いを質問として投げよったwww #ssmjp
これ、第二回 ふたつの炎のたからもの あるな #ssmjp
思わず主催ストップがかかる質問コーナー #ssmjp
炎のたからもの勉強会がくる流れだ #ssmjp
そうか今回懇親会抽選だったから申し込まなかったんだな #ssmjp
ここから徳丸さんの趣味の話 #ssmjp
最後は徳丸浩さんの「脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに」 #ssmjp
徳丸さん「40分ほど頂いて私も趣味の話をしようと思います」w #ssmjp
徳丸さんも乗ってきて、「私も趣味の話をしたいと思います」とな #ssmjp
松本 さんのカリオストロ熱のご講演を聞きポチってしまいました。 #ssmjp amazon.co.jp/dp/B00J7HENT6/…
ゼロデイに血湧き肉躍る徳丸先生。 #ssmjp
趣味だから使命感仕方無いね #ssmjp
「こんばんは。徳丸でございます。今日は 40 分程頂いて私の趣味の話をします」会場大爆笑w #ssmjp
「ゼロデイ!早く調べなくては!」(そしてブログに書かなくては!) #ssmjp
一刻も早くブログを書きたい!
#ssmjp
脆弱性が見つかる際、表向き→世界の平和に貢献したい。本心→じゃじゃ馬根性。「早くブログが書きたい」 #ssmjp
Joomla! の脆弱性の脆弱性の話。0dayの脆弱性があったので調べてみた。
脆弱性情報の調べ方:解説記事とかコードの差分とか(ややこしいやつだと参考にならない)PoCとか攻撃のログとか。#ssmjp
徳丸さんはPoC(ピーオーシー)派! #ssmjp
ちょいちょい差し込まれる時事(今日の勉強会の他の登壇者の発言)ネタw #ssmjp
ぴーおーしー派(徳丸さんはこっち) VS ぽっく派 #ssmjp
#ssmjp PoC ぴーおーしー?ぽっく?
徳丸さんによるところどころの煽りが素晴らしい #ssmjp
徳丸さんはPoCは”ポック”ではなく”ピーオーシー”派 #ssmjp
ぽえむに続き趣味の話ですが、勉強会です。 #ssmjp
ちょこちょことネタと煽り(愛)を挟む徳丸先生w #ssmjp
質問!「ポック派」か「ぴーおーしー派」か分かると脆弱性に繋がるんですか? #ssmjp
解説記事はとりあえず読んだ、コード差分は読んだけど参考にならず。PoCは「その筋」のサイトから拾ったり場合によっては買ったり。攻撃のログが取れる場合もある。#ssmjp
吉野家じゃだめ、?野家じゃないとPoCが動かない #ssmjp
末尾に?野家という文字が入っている→?野家攻撃。土のヨシじゃないと動かない。 #ssmjp
徳丸「私は吉野家攻撃と呼んでいます」
みんな「吉野家攻撃」
#ssmjp
徳丸先生、TeraTerm と Rlogin 使ってる #ssmjp
土吉の方の吉野家じゃないと動かないPoCコード #ssmjp
User-agentの末尾が「?野家」じゃないと動かないというあたり、文字コード関連…? #ssmjp
他のサロゲートペア文字でもできるのかな?
#ssmjp
グイグイに煽っていく徳丸先生www #ssmjp
すげー徳丸さんから石斧とんでくるw #ssmjp
SQLインジェクション(つまらない)
XSS(古典的)
#ssmjp
つまらないSQLインジェクション
古典的なクロスサイトスクリプティング
的確に煽ってきます徳丸先生

#ssmjp

PoCの謎:何故セッション変数に入れた文字列が切り詰められ、文字列がオブジェクトに化けるのか? なぜオブジェクトで任意スクリプトの実行が出来るのか?「\0\0\0」は何か? など #ssmjp
あーなるほど、ここでMySQLの… #ssmjp
こたえ:MySQLの仕様に依存していた。吉野屋の「吉」がつちよしだと、それ以後の文字列が切られてしまう。 #ssmjp
MySQLにinsert「今日のお昼は吉野家にするよ」→selectで引ける。insert「今日のお昼は?野家にするよ」→「今日のお昼は」で切れる。マルチバイト切り捨てのため #ssmjp
utf8mb4じゃないutf8なMySQLに4バイトUTF8文字食わせるとエラー出ずに切り詰められるのかよwwwww #ssmjp
吉野家ではなく、(改行)
?野家すごい #ssmjp
色んな脆弱性とか仕様とかを組み合わせた攻撃なのか…#ssmjp
趣味を飯の種にするおじさんたち大会 #ssmjp
#ssmjp utf-8の4byte文字があるとそれ以降が切り詰められる仕様のmysql?
MySQLのエラー出して欲しいところでエラーに落としてくれない仕様はそろそろ脆弱性なのでは…… #ssmjp
なぜ文字列がオブジェクトに化けるのか?:PHPの脆弱性(セッションデシリアライズ)によるもの。#ssmjp
なぜ swp ファイルを共有しているのだろう #ssmjp
ぽすぐれは日本語にやさしいなあw #ssmjp
商売柄 もとい 趣味の環境では #ssmjp
切り詰めが起きると文字列がオブジェクトに化ける→これが脆弱性のもとになる (CVE-2015-6835) #ssmjp
CVE-2015-6835はCentOS 5/6/7ではパッチ提供されていない #ssmjp
あの。。。登壇机のビールが。。。なんかね。。。(苦笑) #ssmjp
PHP3〜7まで全て走る環境がある #ssmjp
脆弱性の対策:セッションをファイルに格納している場合は問題なし。MySQLに格納している場合はbase64エンコードするなどする。
CentOSでは5~7いずれもパッチが出ていないので注意。#ssmjp
すべてのphpが動く環境…いいなぁ。。。 #ssmjp
PHP-CGI allというPHP 3~7のすべてのバージョンが動く環境が家にあるとな!すごーす! #ssmjp
?野家ってことは、つまり小一時間脆弱性について問い詰めているんですね(違)。#ssmjp
サラッと phpの3-7までのCGIが動くPCでプレゼンされている #ssmjp
徳丸さんは「CentOS」を”セントオーエス”ではなく”セントス”と呼ぶ派 #ssmjp
#ssmjp デシリアライズにまつわる脆弱性は意外に多い
「オブジェクトインジェクション攻撃入門」このパワーワード! #ssmjp
ではなぜオブジェクトが実行されたのか #ssmjp
オブジェクトはデータなのに何故任意スクリプト実行が出来るのか?:オブジェクトインジェクション攻撃によるもの。デシリアライズ周りの処理が原因。 #ssmjp
デシリアライズしか聞かないなあ。。。 #ssmjp
「バリデーション論争もありましたので、しっかりバリデーションしております。」というサンプルコード。チェックしてdieするPHPコードなり。 #ssmjp
#ssmjp エラー出さずに勝手に切り詰める奴はMySQL 5.7のデフォルトでエラーに倒されたっぽい slideshare.net/yoku0825/mysql… image.slidesharecdn.com/mysql5-1510020…
なるほど「実際にもっとも悪用できる方法を探す」って事が世界平和の貢献に繋がるってこういうことか〜 #ssmjp
MySQLのutf8仕様+PHPのセッション変数の脆弱性+デシリアライズ脆弱性+Joomla!のコード、って感じか #ssmjp
これ見てるとやはりPHP辛いなという感想が湧いてくる #ssmjp
call_user_funcのネストは、質の高いコードなのか?w #ssmjp
まずは良くある脆弱性がないか確認。1. eval($this->foo); 2. system($this->foo), 3, call_user_func($this->foo, $this->bar)。joomla!脆弱性は3つ目に該当。しかもネストしてる #ssmjp
で、Joomla! で任意スクリプト実行ができるか?:任意の関数と引数を呼べる箇所があった!(call_user_func()) #ssmjp
このifをくぐり抜けるプロパティを設定し切ると抜けられるのか #ssmjp
古いPHPコードはそれを量産する開発者とともに全て地球から投げ捨てた方が良さそう #ssmjp
call_user_func のネストもいやな予感強いけど、if のネストも深すぎるべ。 #ssmjp
これでも、デストラクタ側でこれを予測するのは多分やらない気がするな… #ssmjp
ぱっと見全然関係なさそうな所からパタンパタンパタンとドミノ倒し的に任意のコードが実行されていくのは凄いけど怖いなぁ… #ssmjp
お外の業者に作らせたPHPコードが怖いなぁ……ちょっと自分でもPHP勉強して読めるようになっとかないとダメか #ssmjp
Macってこの自由にズームできるところだけはいいなと思う #ssmjp
nulを”ヌル”と呼んで”ナル”と呼び直してるのはnullとnulを呼び分ける為かな? #ssmjp
「吉野家」では攻撃は成立しない。「?野家」で成立する。 #ssmjp
ああ…この正規表現は流石に… #ssmjp
脆弱性が存在するデストラクタ部分にて、call_user_funcへと攻撃コードの関数名と引数が渡され、assertの式評価を通して攻撃コード(?野家切り捨てを通したオブジェクト)のコンストラクタが実行される #ssmjp
攻撃コードにもバリデーションが足りていない #ssmjp
「mysql もイケてないんですが仕様なんだから仕方ないですね」 #ssmjp
ここまで理解してコードをかけるのはまあなかなか… #ssmjp
脆弱性は誰のせい?:Joomla! は色々イケてない。MySQLの「仕様」もよろしくない。ただ直接の原因はPHPであるような。#ssmjp
Joomla!とPHPの共犯で、MySQLが幇助したという結論 #ssmjp
#ssmjp エンジニアの勉強会で幇助という言葉を初めて聞いたw
CODE COMPLETE 久々に紹介されてる #ssmjp
何が入ってくるかわからないからチェックするのがとても大事 #ssmjp
『「防御的プログラミング」により、不慮の問題を避けましょう』 #ssmjp 金言ですわな
「今回の Joomla の脆弱性は php と Joomla が共犯、mysql が幇助ですね」 #ssmjp
防御的プログラミング
=>かもしれない運転 #ssmjp
デストラクタは捨てるだけにしないとな… #ssmjp
#ssmjp 「典型的には、外部からコントロールできる値をunserialize関数に処理させない」
デシリアライズはオブジェクトインジェクションの元になるので注意すべき。クッキーのデシリアライズとか特に。 #ssmjp
オブジェクトインジェクションの対策:任意オブジェクトが生成できるコードを書かない(unserializeに外部入力を食わせない)。保険的対策としては、デストラクタでは複雑な処理をしない・後始末は明示的に呼び出す(evalなどは呼ばない) #ssmjp
ほんこれ RT @blp1526: #ssmjp 「典型的には、外部からコントロールできる値をunserialize関数に処理させない」
この徳丸さんの話は他では聞けない #ssmjp
まさかり飛びすぎて質問でないwww #ssmjp
MYSQLに思い入れのあるとある診断員さん #ssmjp
MySQLは「趣味の脆弱性調査では頼もしいツール」www #ssmjp
文字列系のはもうどうしようもない #ssmjp
MySQLの問題に「あー」となる会場一同 #ssmjp
UserAgentをセッションに保存->mysqlがutf-8の4バイト文字を切り詰め->CVE-2015-6835が文字列をオブジェクト化->JoomlaのMySQLドライバのデストラクタを足がかりにオブジェクトインジェクション->任意コードを実行 #ssmjp
楽しかったです、お疲れ様でした!! #ssmjp
「山田さん」と「0」を比較するとtrueになるのはきっと
直せないでしょう(MySQLへの不満) #ssmjp
次回は抽選なので血は流れない #ssmjp
次回のささみは抽選。内容はセキュリティ以外。またカリオストロみたいなポエムあるかも #ssmjp
これからMySQLで新規に作るときには一番きつきつの設定にすべき #ssmjp
とりあえずMySQLについては5.7系にしてutf8mb4にするのがいいのかもな #ssmjp
PHPオブジェクトインジェクション理解できてない箇所があったけど今回理解できた #ssmjp
#ssmjp が終わったので撤収。#ssmjp への参加は、いろいろな意味で生きるための大事な活力源になってます。いつもありがとうございます > 関係各位。
#ssmjp 2016/08 セキュリティ 三勇士 ミーティングの巻 – Togetterまとめ togetter.com/li/1016820 @togetter_jpさんから タグが付いている分をまとめました。誰でも編集可なので、追記などお願いします。
.@it__ssei さんの「#ssmjp 2016/08 セキュリティ 三勇士 ミーティングの巻」をお気に入りにしました。 togetter.com/li/1016820
乱暴に総括すると、「新しい開発手法に対してセキュリティ診断側はこのままではいけない」というはせがわさんと、「組み合わせ次第でまだまだ世の中にはこんな脆弱性が」という徳丸さん。そして松本さんの「カリオストロの城」についての深い洞察。どれも大変勉強になりました。 #ssmjp

You may also like...

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です