第9回詳解セキュリティコンテスト輪読会の記録
範囲: p.205 - p.226 Blind XXE手前まで
redisについて
redis使ったことないという話になった。redisはインメモリ型のkey-value storeで、PubSubで使われていたりするみたい。 PubSub/Redisを用いたGoによるスケーラブルなworkerの構築と運用
RDBが物理ディスクなので処理速度が遅く上限に達しやすいのに対して、インメモリ型のRedisは速いという特徴がある。ただ、Redisの方が信頼性は低いので個人情報に関係ないものやキャッシュとしての利用が多いイメージがある。
gopherプロトコルが使えるとき
なぜgopherプロトコルを使うのか?利点は?→gopherプロトコルはMySQLとの通信にも使えたりと、任意の通信が改行付きでできてすごい汎用性が高い。
- 参考: extract0r - web - medium SQLと通信
- 参考: ISITDTU CTF 2018 - Friss SQLと通信パート
- 参考: SSRF基礎 gopherプロトコルは改行が使えるのが強い。また、リクエストヘッダー付きリクエストもgopherなら可能
gopherプロトコルはリアルワールドでバグバウンティで使うシーンがありそう
Orangeさんの発表
パーサとSSRFに関するOrange Tsuiさんの発表
- 参考: blackhatの発表
- 参考: Youtube
- 参考: ode.js における http モジュールでの Unicode の扱いと SSRF について もりたこさんのブログ。分かりやすく解説されている。
JSの内部表現がUTF-16で、サロゲートペアで分離されて解釈されると、 ..
をpathモジュールでは検知できないがhttpモジュールでは検知されてディレクトリトラバーサルが発火するという仕組み。
サロゲートペア
絵文字でiPhoneがクラッシュするバグがかつてあったなど、サロゲートペア関連は色々おかしな挙動をする
- 参考: たった1文字でiPhoneをクラッシュさせるバグ発覚、無限再起動ループの危険もあり 2018年
- 参考: Host/Split
XXE
lxmlモジュールの設定でDTDによる外部実体参照をしなければXXEは起きないので対策になる。どのくらい外部実体参照は使われているんだろう?(不明)
no_network=False
になっているからSSRFが成立する。ここを True
にすればネットワークを介する攻撃は防げる。
問題
話題
セキュリティキャンプの話題や、DEFCONの季節なのでそういう話が出た。
- れっくすさんのCTF Radio #0: DEF CON CTF Finals 直前企画 DEFCONに出る人たちが現地でどういう感じなのかという話をする。結構CTF以外パート(ラスベガスの話)もあって楽しく聴けて面白い
- DEF CON LiveCTF 2022 - Day 1 DEFCONのスピードランみたいなやつ?これにptr-yudaiさんが
./V /home/r/.bin/tw
代表として出ている。画面も映されていて面白い。TSG LIVE! CTFでも一度ptr-yudaiさんの画面が映されたことがあった。
来週からCryptoパートに入るのでdevcontainer作った。 uta8a/crypto.devcontainer 本に書いてあるツール全部入りです。4GBもあるから減らしたいですね。