Ctf

ksnctf: #5 onion

  • ctf
問題 Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSV01WbDNXa1JTV0ZKdGVGWlZNakExVmpBeFYySkVU… 解法 英数字のみなのでbase64ぽい。 デコードすると Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSWFJteFZVMjA1VjAxV2JETlhhMk0xVmpGYWMySkVU\nbGhoTVVwVVZtcEdTMlJIVmtW... あれ? でも文字数は減っている。onionという名前からして繰り返すのだろう。 繰り返すと次の文字列が手に入る。 b'begin 666 <data>\n51DQ!1U]&94QG4#-3:4%797I74$AU\n \nend\n' uuencodeなので、ファイルに書き出したあとデコードする。 ❯ ./onion.py > inner ~/Projects/CodeSite/CTF/ksnctf/05_onion ❯ uudecode inner ~/Projects/CodeSite/CTF/ksnctf/05_onion ❯ ls '<data>' __pycache__/ inner onion.py onion.txt ~/Projects/CodeSite/CTF/ksnctf/05_onion ❯ cat '<data>' FLAG_FeLgP3SiAWezWPHu スクリプト flag FLAG_FeLgP3SiAWezWPHu point 221 参考 https://ja.wikipedia.org/wiki/Uuencode http://docs.python.jp/3/library/base64.html http://docs.python.jp/3.5/library/uu.html

ksnctf: #3 crawling_chaos

  • ctf
問題 http://ksnctf.sweetduet.info/q/3/unya.html 解法 開くとformが一つだけ、最初はsqlインジェクションかと思ったけど、htmlを見るとjsスクリプトだった。 (ᒧᆞωᆞ)=(/ᆞωᆞ/),(ᒧᆞωᆞ).ᒧうー=-!!(/ᆞωᆞ/).にゃー,(〳ᆞωᆞ)=(ᒧᆞωᆞ),(〳ᆞωᆞ).〳にゃー=- -!(ᒧᆞωᆞ).ᒧうー,(ᒧᆞωᆞ).ᒧうーー=(〳ᆞωᆞ).〳にゃー- -!(ᒧᆞωᆞ).ᒧうー,(〳ᆞωᆞ).〳にゃーー=(ᒧᆞωᆞ).ᒧうーー- -(〳ᆞωᆞ).〳にゃー,(ᒧᆞωᆞ) ... 某某時的な存在が這い寄ってくるのを感じる… htmlでエラーが出ないことから、なぜかjavascriptとして動くらしい。 ❯ node chaos.js undefined:2 $(function(){$("form").submit(function(){var t=$('input[type="text"]').val();var p=Array(70,152,195,284,475,612,791,896,810,850,737,1332,1469,1120,1470,832,1785,2196,1520,1480,1449);var f=false;if(p.length==t.length){f=true;for(var i=0;i<p.length;i++)if(t.charCodeAt(i)*(i+1)!=p[i])f=false;if(f)alert("(」・ω・)」うー!(/・ω・)/にゃー!");}if(!f)alert("No");return false;});}); ^ ReferenceError: $ is not defined at eval (eval at <anonymous> (/Users/vinter/Projects/CodeSite/CTF/ksnctf/03_crawling_chaos/chaos.js:1:17299), <anonymous>:2:1) at Object.<anonymous> (/Users/vinter/Projects/CodeSite/CTF/ksnctf/03_crawling_chaos/chaos.js:1:17333) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:394:7) at startup (bootstrap_node.js:149:9) これがflagぽい。 var p=Array(70,152,195,284,475,612,791,896,810,850,737,1332,1469,1120,1470,832,1785,2196,1520,1480,1449); decode flag FLAG_fqpZUCoqPb4izPJE point 151

ksnctf: #2 easy cipher

  • ctf
問題 EBG KVVV vf n fvzcyr yrggre fhofgvghgvba pvcure gung ercynprf n yrggre jvgu gur yrggre KVVV yrggref nsgre vg va gur nycunorg. EBG KVVV vf na rknzcyr bs gur Pnrfne pvcure, qrirybcrq va napvrag Ebzr. Synt vf SYNTFjmtkOWFNZdjkkNH. Vafreg na haqrefpber vzzrqvngryl nsgre SYNT. 解法 シーザー暗号 flag FLAG_SwzgxBJSAMqwxxAU point 51 (1+50)

ksnctfことはじめ

  • ctf
ksnctf始めます。 去年一度やっていたけど最近CTF熱が高まってきたので(あとほとんど覚えていないので)もう一度ksnctfを始めようと思います。 一応以下のような方針でやっていこうと思います。 自力で解く 周辺知識は調べるけどwrite upなどは見ない。 pythonを使う 便利ツールが揃っているのに自分がpythonを書けないので。 ただし問題が他の言語で与えられていた場合などはこの限りではない。 方法を残す スクリプトをgistに上げるなり、write upを残すなりする。 解けたらwrit upを見る。 より良い方法があるもや。 Test Problem というわけで記念すべき第一のflagです。 FLAG_SRORGLnTh2Q5fTwu 現在point 1 point

Catch the SECCON2016 if You Can

TL;DR この記事はeeic Adevent Calendar 2016 その2の11日目です。 第一部: CTFについて 第二部: はじめてのバイナリ解析 第三部: SECCON2016 write up この記事は第三部です。(長くなったので分割しました。) SECCON2016 write up 一問も解けなかったのでなにも書けませ〜ん

Catch the Binary if You Can

TL;DR この記事はeeic Adevent Calendar 2016 その2の11日目です。 第一部: CTFについて 第二部: はじめてのバイナリ解析 第三部: SECCON2016 write up この記事は第二部です。(長くなったので分割しました。) はじめてのバイナリ解析 CTFの花形はバイナリ解析です。 セキュリティコンテストチャレンジブックで少し勉強したので、バイナリ解析の基礎を紹介したいと思います。 バイナリとは バイナリとは一般的に「コンピュータが扱えるように2進数で表されたデータ」です。なので画像ファイルなどもバイナリなのですが、バイナリ解析で扱うバイナリはコンピュータが実行可能なプログラムのファイルのことを指します。 表層解析と動的解析と静的解析 例えばCのプログラムをgccでコンパイルした時のa.outをそのまま渡されてなにが「分かることを豊かに述べよk」なんて言われたらどうしますか? 表層解析 まじファイルを実行する前に分かることを調べましょう。そのためにfileとstringsというコマンドを使います。 # $ file a.out a.out: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=643b4dc3720a4a5eefe53a385df75358698e2d65, not stripped fileコマンドでどのようなファイルかがわかります。 今回の場合、 ELF 32bit - 32bit Linuxの実行ファイル Intel 80386 - intel i386アーキテクチャ dynamically linked - 動的リンクを採用している not stripped - シンボル情報が残っている ということがわかります。

Catch the Flag if You Can

TL;DR この記事はeeic Adevent Calendar 2016 その2の11日目です。 これはCTF歴数ヶ月のトーシロがCTFを知らない人に対して説明をする(ことを試みた)記事です。 以下の構成となっています。 第一部: CTFについて 第二部: はじめてのバイナリ解析 第三部: SECCON2016 write up この記事は第一部です。(長くなったので分割しました。) CTFとは”Capture The Flag”の略で、隠されたフラッグと呼ばれるものを何かしらの方法で習得するゲームです。 IT技術を使った謎解き、プログラミング、ハッキングなどの言葉を聞いて興味を惹かれた人読んでみると良いかもしれません。 「ハッキングとか倫理に反する!」と思う方やウィザードの方はブラウザを閉じることをおすすめます。 また時間の無い方も踏み入れないほうがいいかもしれません… 気がつくと時間が解けていきます。 … .. . ....................................................................... :::: ##:::::'##:'########:'##::::::::'######:::'#######::'##::::'##:::: :::: ##:'##: ##: ##.....:: ##:::::::'##... ##:'##.... ##: ###::'###:::: :::: ##: ##: ##: ##::::::: ##::::::: ##:::..:: ##:::: ##: ####'####:::: :::: ##: ##: ##: ######::: ##::::::: ##::::::: ##:::: ##: ## ### ##:::: :::: ##: ##: ##: ##...:::: ##::::::: ##::::::: ##:::: ##: ##.

Catch the Flag if You Can

∧_∧ やあ (´・ω・`) / /∇y:::::::\ [ ̄ ̄] |:::⊃:|::::::| |────|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/| ∇ ∇ ∇ ∇ /./| ┴ ┴ ┴ ┴ / /.|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|/ |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | (⊆⊇) (⊆⊇) (⊆⊇) | || || .|| ./|\ /|\ /|\ ようこそ、アドベントカレンダーへ。 このテキーラはサービスだから、 まず飲んで落ち着いて欲しい。 うん、「また」なんだ。済まない。 仏の顔もって言うしね、 謝って許してもらおうとも思っていない。 でも、この記事を見たとき、君は、 きっと言葉では言い表せない 「ときめき」みたいなものを 感じてくれたと思う。殺伐とした世の中で、 そういう気持ちを忘れないで欲しい そう思って、この記事を投稿したんだ。 | じゃあ、注文を聞こうか。 明日には、明日には、書きます。 書きました