CTFに挑んでいるなら高みを知っておきたくて参加しました。welcome以外見てみたけど難しく感じるw
できるものをやりたいけど、warmupは頑張りたい!そんな感じで記録していきます。解法は書いてないのでwriteupとして探していたら違います。
web
Bad JWT
さきほどNECさんのctfに挑んでいましたけど、JWTトークンは脆弱性が多くあるようですね。
pwnable
rop-2.35
The number of ROP gadgets is declining worldwide.という言葉とともに通信コマンドnc rop-2-35.seccon.games 9999
とその先で動いているコードが与えられている状態。
コード見てもわからないので、ROPガジェットについてまずは知るところからかな。
crypto
plai_n_rsa
I've dropped the "n" ... where is my "n" :(という言葉とともにテキストファイルとcコードwが与えられている。
RSA関係ですね。mがflagなので平文を復号するようですね。nってn=(p-1)(q-1)で表されるあのnかな?方針は立ちやすいような気がする。
pow(a,b,c)はcを法としてaをb乗するということだと思う。
RSAに関しては(わかった気になれる『サマーウォーズ』の暗号 「RSA暗号」を解説)ここが分かりやすい。
今回与えられたものだけでは、結局nが分からないのでmを復号することはできない。
sandbox
crabox
🦀 Compile-Time Sandbox Escape 🦀という言葉とともに通信コマンドとコードが渡された。この分野知らないな、、サンドボックスで解析するのかな?
reversing
jumpout
Sequential executionという言葉とともになにかしらのファイルが渡された。
何かしらのファイルを渡されたら初手はfile
,strings
コマンド。
└─# file jumpout jumpout: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=707d320f5878e3aa46c32541861d1ac04efd9f29, for GNU/Linux 3.2.0, stripped
└─# strings jumpout /lib64/ld-linux-x86-64.so.2 __cxa_finalize __printf_chk __libc_start_main puts strlen __isoc99_scanf __stack_chk_fail libc.so.6 GLIBC_2.7 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.2.5 GLIBC_2.34 _ITM_deregisterTMCloneTable __gmon_start__ _ITM_registerTMCloneTable L$ H T$(H []A\A]A^A_ |$0A t$0L PTE1 u+UH D$81 D$ H D$8dH+ D$(H T$(dH+ 8[]A\A]A^A_ FLAG: %99s Correct! Wrong... :*3$" GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 .shstrtab .interp .note.gnu.property .note.gnu.build-id .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt.got .plt.sec .text .fini .rodata .eh_frame_hdr .eh_frame .init_array .fini_array .dynamic .data .bss .comment
実行形式のファイルだろう。stringsからGCCよりc言語かな?flagもありそう。
misc
warmupないのでできるかなw
readme 2023
Can you read the flag?ということで通信先で動いている情報と通信コマンドが渡されている。
└─# nc readme-2023.seccon.games 2023 path: flag.txt [-] Path not allowed
与えられた通信を行うとpathを要求される。同じディレクトリ内にあるflag.txtをやると許可されていないと設定されている。