TSG live CTF writeup - cruel dd, rop4, rop1, simple pwn, RSA modoki, repeat64, leap it, TSG shooter

この記事はTSG Advent Calendar 2018 の4日目の記事として書かれました。昨日は、taiyoslime さんの駒場祭 TSGCTF day1 Writeup でした。 僕の所属するサークル TSGが 東京大学の駒場祭というイベントにて、ライブCTFというものをしました。そのときの動画は…

min-camlのプログラムからシェルが取れるか?

問題文 副作用も、libcもいなくなったとき残るのは、型安全で純粋な素晴らしい世界のはずだった...... nc external.pwn.ctf-day3.tsg.ne.jp 31000 接続すると、min-camlのプログラムをサーバーに提出でき、サーバーはmin-camlコンパイラでコンパイルして実行…

seccon quals 2018

結果 2位 writeup Runme winバイナリです。IDAを開きます。true/falseを計算する関数を見つけます。その関数をたどっていくと、パスを一文字ずつ比較していく関数が連なっていることがわかります。文字をくっつけて終わり Special Instructions moxieという…

理学部情報科学科の3S

なんとなくまとめてしまった。簡単な復習です。忘れないうちに。全体としては、理情の授業は「コンピュータのシステムや"計算"という概念をあらゆるレイヤーで理解する」ことを目的に組まれているような感じで、「何かを作る」とか「何かを解く」というより…

あけましておめでとうございます

年賀状を書きました(さっき)とてもやっつけです。http://bit.ly/befunge18で実行できるので試してみてくれるとそれはとってもうれしいなって。 今年もよろしくお願いします。

2017年の総括

毎年振り返っているので今年も振り返ろうかなと思います。そうはいっても2016年の総括を書いているのが本当に先週くらいかな?と思うほど1年が過ぎていくのが早かったので少々恐ろしい気持ちです。最近は分身を体得すべく努力しています。 以下ポエムです。…

pwnに関する初歩的ないくつかの手順を確認する

最近TSGの人が少しpwnに興味を持っている?(要出典)らしいのですが、世の中のwriteupを見ても何やってるのか分からへんみたいな話があり、僭越ながら僕のやっていることを一つずつスクリーンショットを交えつつまとめてみたいなと思います。 もっとも、人…

Brainf*ckを、直接実行可能バイナリにコンパイルした話

なんとなくカレンダーを埋めたいという衝動に駆られるので記事を書きます。 おととい書いたELFを書く話によって、僕らは事実上任意の機械語列をELFにすることができるようになりました。次は、当然任意のBrainf*ckで書かれたプログラムをコンパイルできるよ…

手で ELFを書く

学科の基礎実験でAssemblyでbrainfuckのコンパイラをかけという選択課題があります。この課題をやろうと思うと、ELFをある程度理解し、自分で生成できる必要があります。 今回、最低限の機械語を実行可能なELFフォーマットで出力できるようになるために手でE…

Circle CI + Python3 + GAEについて

Circle CI + Python3 + GAEについて 別にどうというわけでもないが、メモ。3時間くらい悩まされたため。 背景 Googleが提供するPythonで実装されたスクリプト群がPython2で動くことはあまりにも有名ですね。そもそもAppEngineのStandard Environmentにデプ…

Unix V6コードリーディングの個人的なメモ

学科ゼミとしてV6を読む会というのをやっています。ここまでのところ4回ほど開いて、順次はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)を読んでいます。とりあえずオラオラと9章(加えて14章)まで読んで来たわけで…

星空を描く ~esolang(難解プログラミング言語) writeup ~

3月末に、TSGというサークルでesolang( esoteric language ;難解プログラミング言語の略)陣取り大会というゲームが開催されました。この記事はそのwriteupです。割とポエムです。 TL;DR esolangショートコーディングは、僕がポエムを書いてしまうくらいには…

0ctf 2017

ctf

char ropできるんだけど、送りこめるデータが識字可能文字だけ、という問題。rop用にlibcが0x5555e000あたりにロードされる。まぁ、ある意味頑張ればできる問題なので、solverは結構いた。 方針は、/bin/shのアドレス(0x556bb7ec)自体は、ロード不可能な文字…

あけましておめでとうございます

あけましておめでとうございます。年賀状情報です。 描いたのはStarryというプログラミング言語です。某esolang大会のときに、@kurgm氏が解いていた言語で、これがまさに星空のようで美しく、割と個人的に気に入りました。 今年もよろしくお願いします。

今年の総括

去年もこんなことを書いていた気がするので、今年もまた。 今までも十分浅く広かったんですが、今年はいつにもまして、浅く広く色々と触りました。なので、結局何も無いという感じですかね。 なんもわからん。 以下、gistやその他を参照して今年やったかなあ…

mnemoにおける普遍的なテク

はじめに この記事は、TSG Advent Calendar 22日目として書かれました。 タイトルだけ見るとなんかすごい技を紹介するみたいな風に見えますが、そうではなく、普通にやってもらっていて分かりにくいんじゃないかなと思ったりする部分をある程度補完したい、…

gccが生成するELF付随品について探る

この記事はTSG Advent Calendarの21日目の記事として書かれたものです。 CTFやらでReversingをしていると、いつも見るframe_dummyやinit、本質ではない、的な感じでスルーをしているんですが、それなりに気になるところでもあり、少し深く見てみようかなと思…

EC2のインスタンスをウェブサーバとして S3を使ってNamecheapのDNSを関連付ける

メモ。 簡易的なflaskでのウェブサービスをデプロイしたりしたときにやったこと(後から書いているので漏れがあるかもしれない)。 使ったもの AWS EC2 AWS Route S3 Namecheap EC2 サーバー設定 とりあえず、t2.micro(なんでもいい)を作る セキュリティの…

HITCON CTF 2016 RegExpert and moRE writeup

CTF

RegExpert RegExpert 59 Teams solved. Description Do you remember "hard to say" last year? I think this one is harder to say... nc 52.69.125.71 2171 Hint None % cat regexp (?i)s.*e.*l.*e.*c.*t ^(a\g<1>?b)$ ^(?!(xx+)\1+$)xx+$ ^((.)\g<1>\2|.?…

今年の総括

もうすぐ今年も終わりらしいので、一応今年を振り返りたいなと思います。1月から2月にかけて、絶対JOI春合宿行こうな!っていう気分で、蟻本を読みつつ、競プロなどをしていました。死んでからは、競技プログラミングという分野が見えなくなりました。でし…

JOI本戦参加しました

人生どうでも飯田橋

あけましておめでとうございます

今年は昨年以上に忙しくなる一年だと思うので、頑張りたいと思います。年賀状情報です。 今年もよろしくおねがいします。目標として、昨年はここで足し算を目標としたので、今年は引き算の習得を目指して行こうと思います。

今年を振り返って

今年も凄い速度で時が過ぎ去って行きました。来年も頑張りたいと思います。

定期試験とはナップザック問題のようなもの

以下試験からの逃避文章です。定期試験とはナップザック問題のようなものだと思います。時間という有限の制限以下で、評価を最大化するためにどの勉強をするかを選ぶからそんな感じが。夏休みという時間を何一つ定期試験のために過ごしてこなかったから、あ…

Raspberry PiでL-03FでdocomoのXiを使ってネットをしてみる

かなり色々と試行したので、無駄な処理が入っている可能性があるのですが、とりあえず、やっとことをまとめてみます。一応、Linuxはdocomoのサポート外なので、以下も自己責任でお願いします(主にパケ死などに)。参考にさせてもらったのは、Qaplaの覚書・…

花火

夏を忘れないために花火です。Processing何かと役立つと思うので、ある程度使えるようにしてたい float t; float g = -0.8; float v0 = 10.0; float h = 100.0; int divide = 30; float theta = 360/divide; float colors[][] = new float[divide+1][3]; int…

iOSのアプリつくった話。とコード署名でno identities are available for signingって言われまくった話

ものはたいしたものじゃないというか、僕が欲しかったっていうだけのアプリなのですが、iOS dev program登録して何もしないのもお金がもったいなすぎるということで、アプリを投稿してみました。で、Objective-Cのメソッドなげーとか言いながら、まぁたのし…

seccon online

CTF雑魚なので、全然問題解けなかったのです。数毒のやつと、12問暗号のやつの11問までの部分点までしか解けなかった、という悲惨な結果です。えっと、初めてのCTFということで初めてのWrite upを書いてみようと思いましたが、他の人にかなり完全な答えのWri…

あけましておめでとうございます

今年は足し算が出来るようになりたいです。

奇数出力するやつ〜

C++

雑魚なので、+++とかって書くだけで闇っぽいなぁと思いました(小並感 #include <stdio.h> int main(void) { int i = 0; for (i; i<10;i++){ printf("%d\n", i+++1); } } [出力] % ./a.out 1 3 5 7 9以上です...</stdio.h>