さくらのオブジェクトストレージをC# から触る

なんかどう探してもs3fsとかs3cmdとかで触ってる例しか見付けられなくてどうしようもなかったのでなんとかした

準備

  • Visual Studio 2015とかを入れる
  • AWS SDK for .NETを入れる or NuGetで"AWSSDK.S3"を検索しインストール
  • 下記画像で言う赤枠と青枠部分の文字列をメモ _roがついてる方はたぶんreadonlyだけど今回の例だとダウンロードしかしないので多分どっちでも良い f:id:misodengaku:20150810223859p:plain

コード

  • VSを起動し"AWS Empty Project"を作成
  • このコードを適当に弄る

そもそもS3とかオブジェクトストレージとかがなんなのかよくわかってなくて、Keyがファイル名になっているのに気付くのに数分かかった。 アップロードとかも同じような具合で出来そうなのでなんかいろいろ流し込んでみたい

追記

AWS SDKのバージョンが2.xだとDownloadToFilePathがないみたいなことを言われる。 NuGetでAWS~とかで検索すると2.xと3.xが両方出てくる?っぽくてややこしいのでやるなら"AWSSDK.S3"で検索してインストールすること。

SECCON 2014 全国大会に出た

f:id:misodengaku:20150207194341j:plain

Mr.Takedaで出てました。結果 (http://ctf.seccon.jp/finals_score.html) は変更無ければ9位で去年から言ってた目標1桁位は達成できましたが会場への机持ち込みには失敗しました。

writeup

f:id:misodengaku:20150208210422p:plain

今回は問題が壱から六の6つに別れていて、私はそのうちの伍をやりました。

伍でDefence Point(チーム固有の文字列、チームキーワードを書き込み続けることで継続してスコアが得られる)を取れていたのは準優勝チームのHITCONとうちだけであり、大会後の懇親会で解法をよく訊かれたのでやったことだけ適当にまとめておきます。

  • Nikto2でスキャンをしたところmod_negotiationに脆弱性がありそうだとわかる
  • exploitがないか調べたところMetasploitのauxiliary/scanner/http/mod_negotiation_bruteが使えそうなので10.100.5.252に対してスキャンを行う
  • すると/cmd.shの存在が発覚

  • 勘で/svn/flagsがありそうだなと思ってアクセスしたらビンゴでリポジトリの一覧が出力できた
  • svn checkoutしてみたら出来たので自分たちのチームキーワードを書き込んでコミット、うまいことサーバーに転送できたっぽい
  • 自分たち以外のチームキーワードが存在するのは気にくわないので最新のチームキーワードを書き込みつつ他のファイルを全削除するコミットを5秒おきに発射

  • あとは眺めてるだけでポイントが加算されてた

  • 細かくはめんどくさいので@misodengakuまでmention投げて下さい

おしまい

いい加減疲れてて眠いのであとで書き直したい

追記

メンバーみんなのwriteupです

http://d.hatena.ne.jp/aki33524/20150208/1423402965

http://blog.chibiegg.net/2015/02/08_23_771.htm

http://math314.hateblo.jp/entry/2015/02/09/004032