--- tags: pwn, ctf, index --- # n日1CTFチャレンジ ## Rules * n日に1問以上のpwnを解くかPwnに関する有益な学習をする、できればn=1を目指す -> pwnからCTF全般に変わりました * 解いた場合はWriteupの執筆、学習の場合はそれに関する記事を生成することで達成したとみなす、クオリティは本人が納得出来る程度で(コードを貼って終わりのWriteupにはしたくないです) * 継続期間の平均を取るので同じ日に2問以上解いた場合は翌日以降の分は実質免除される * CTF開催中に問題を解いた場合は終了後にWriteupを提出すると達成扱いになる * 週に一度(おそらく毎週水, 木, 金曜日のいずれか)[はてブロ](https://xornet.hatenablog.com/)の方に今週のまとめを書く -> 特に意味無いのでやめました 院試が終わったのでRevやCrypto等、Pwn以外のジャンルも混ぜて再開しました ## Challenges 基本的に最初の方程、簡単です * 2020/06/10: [SECCON Beginners CTF 2019 - Babyheap](/@Xornet/H1hYUUR2I) * 2020/06/11: [FireShell CTF 2019 - babyheap](/@Xornet/Hketbw16L) * 2020/06/11(2): [HSCTF 6 - Combo Chain](/GURx_d_ESHCL_HHKDHH6ew): Heapじゃないです * 2020/06/12: [SECCON Beginners CTF 2020 - Beginner's Heap](/@Xornet/S1P5ZPgp8) * 2020/06/12(2): [HSCTF 6 - bit](/5iAnkyrqTliGln2N9rLJNg): Heapじゃないです * 2020/06/13: [HSCTF 6 - Aria Writer](/9UMnoL_yTOOxuLMjx3ntDw) * 2020/06/14: [Security Fest 2019 - Baby5](/@Xornet/ryyrIQmTL) * 2020/06/14(2): [Security Fest 2019 - Baby5 (Unsorted Bin)](/@Xornet/rycqVwQpL) * 2020/06/15: [HSCTF 6 - Aria Writer v3](/cWZap97rRoySNQIVhKluXw) * 2020/06/16: [DEFCON CTF 2019 Qualifier - speedrun-010](/@Xornet/rk_xADIaL) * 2020/06/17: [SECCON CTF 2019 Quals - One](/@Xornet/rJJtwPDpL) * 2020/06/18: [InterKosen CTF - kitten](/Ibej6bxcRPKO88OMmPbXMw) * 2020/06/19: [(study) - off-by-one error](/@Xornet/Bk1OIIq6U) * 2020/06/20: [RedpwnCTF 2019 - Penpal World](/@Xornet/BJyfSni6I) * 2020/06/21: [ASIS CTF Quals 2019 - pwn 101](/@Xornet/SkI6vb6aL): off-by-one * 2020/06/26: [redpwnCTF 2020 - four function heap](/@Xornet/Sk9_mV7CL) * 2020/06/28: [CSAW CTF 2019 Quals - Poppong Caps](/IdmYt7jwQ0S2uX5TBQOP7A) * 2020/06/29: [ISITDTU CTF 2019 Quals - iz_heap_lv1](/f2kpugIfQjagRxaGy3PXAw) * 2020/06/29(2): [CSAW CTF 2019 Quals - Poppong Caps 2](/ImDlSf3URnSpKOMb-chZ8g) * 2020/06/29(3): [ISITDTU CTF 2019 Quals - iz_heap_lv2](/@Xornet/HJ_X3vvAL): off-by-null * 2020/06/30: [NITAC miniCTF 3rd - babynote (+α)](/@Xornet/HJHYC1YCL) * 2020/07/02: [SECCON Beginners CTF 2020 - Childheap (+α)](/@Xornet/HklcV2j0L): off-by-null, libc 2.31 * 2020/07/05: [ASIS CTF Quals 2020 - Full Protection](/@Xornet/rJS-_qk1w): Heapじゃないです * 2020/07/06: [ASIS CTF Quals 2020 - babynote](/@Xornet/ryH2Xte1P) * 2020/07/06(2): [ISITDTU CTF 2019 Quals - iz_heap_lv2 (+α)](/@Xornet/H1OpK1bkw) * 2020/07/07: [\*CTF 2019 - girlfriend](/@Xornet/ry6Pq7zkD): libc 2.29 * 2020/07/08: [Security Fest 2019 - Baby5 (showless leak)](/@Xornet/SkIgCyXJP): showless * 2020/07/08(2): [NITAC miniCTF 3rd - blindnote](/@Xornet/SyMkQYXJP): showless * 2020/07/09: [N1CTF 2019 - warmup](/@Xornet/HycSjFEkw): showless * 2020/07/12: [TSG CTF 2020 - Detective](/@Xornet/Hy3dsrOkD) * 2020/07/16: [TSG CTF 2020 - Karte](/@Xornet/B1jjb66yv) * 2020/07/17: [tcache stashing unlink attack](/@Xornet/H1sYvQJlv) * 2020/07/18: [TSG CTF 2020 - RACHELL](/@Xornet/HyZEgreeD) * 2020/07/21: [Backdoor CTF 2019 - babyheap](/@Xornet/ByHgZ8Vlw): libc 2.23 * 2020/07/22: [Pwn2Win CTF 2020 - At Your Command](/@Xornet/Bk6thFSxD): FSOP * 2020/07/27: [CSAW CTF 2019 Quals - small boi](/@Xornet/BJi8X6slD): SROP * 2020/07/27(2): [Rooters CTF 2019 - \#Secure-ROP](/@Xornet/r1EcaJnxv): SROP * 2020/08/03: [InCTF 2020 - party planner](/@Xornet/rykAWLHZw): 2.29 Rev編開始 * 2020/08/17: [SECCON Beginners CTF 2020 - siblangs](/@Xornet/H1e_bCPMP): apk問題 * 2020/08/18: [redpwnCTF 2020 - SMarT-Solver](/@Xornet/rJ3CokFMP): z3 * 2020/08/18(2): [redpwnCTF 2020 - chezzzboard](/@Xornet/SJ2ngrtGv): C++ CTF復帰 * 2020/09/06: [InterKosenCTF 2020 Writeup](/@Xornet/r1TUJXf4D): Crypto, Revの一部 * 2020/09/07: [InterKosenCTF 2020 - Fable of aeSOP](/@Xornet/By-W6D74D): FSOP * 2020/09/08: [InterKosenCTF 2020 - Confusing](/@Xornet/ryORm-EEw): Type Confusion * 2020/09/08(2): [InterKosenCTF 2020 - ochazuke](/@Xornet/SyTi6-B4v): Crypto, ECDSA * 2020/09/09: [InterKosenCTF 2020 - padrsa](/@Xornet/B16W75IND): Crypto, Franklin-Reiter Related Message Attack * 2020/09/10: [Crypto CTF 2020 - Amsterdam](/@Xornet/S1xs0e_ND): Crypto * 2020/09/11: [Crypto CTF 2020 - Three Ravens](/@Xornet/SJ0q5EuVv): Crypto, RSA * 2020/09/11(2): [Crypto CTF 2020 - Gambler](/@Xornet/Sk1eXeKNP): Crypto * 2020/09/11(3): [Crypto CTF 2020 - Model](/@Xornet/SkAFuGtED): Crypto, RSA * 2020/09/17: [格子を利用した(擬)NTRU暗号の解読: 巅峰极客·网络安全技能挑战赛 - NTURE](/@Xornet/BJHt36lBP): Crypto, Lattice * 2020/09/21: [TokyoWesterns CTF 6th 2020 Writeup](/@Xornet/r1m4fk8SP) 頻度落ちてますがこちらで続いています -> <https://project-euphoria.netlify.app/blog/> ## オススメ ### baby + playground (Heap) * [SECCON Beginners CTF 2020 - Beginner's Heap](/@Xornet/S1P5ZPgp8): Heap Overflow, 問題自体が一種の解説になっているので絶対にやってください * [NITAC miniCTF 3rd - babynote (+α)](/@Xornet/HJHYC1YCL): Heap Overflow * [SECCON CTF 2019 Quals - One](/@Xornet/rJJtwPDpL): ポインタ1つ, 固定mallocという制限が無かったらもう少し推奨度は上がった * [Security Fest 2019 - Baby5](/@Xornet/ryyrIQmTL): 複数解法の実験にも使える ### off-by-one * [ISITDTU CTF 2019 Quals - iz_heap_lv2](/@Xornet/HJ_X3vvAL): off-by-nullの入門にどうぞ、libcのバージョンを上げてもなお良い * [SECCON Beginners CTF 2020 - Childheap (+α)](/@Xornet/HklcV2j0): 2.29でoff-by-oneをやるのには工夫が要るというのを教えてくれるがポインタ1つの制限で結構難しい ### showless leak * [NITAC miniCTF 3rd - blindnote](/@Xornet/SyMkQYXJP) ### FSOP * [InterKosenCTF 2020 - Fable of aeSOP](/@Xornet/By-W6D74D) ## 参考文献 ### 英語 * [how2heap](https://github.com/shellphish/how2heap): Heapをやるなら必読、出来るなら同じ事をするPoCを書くのも良い * [Heap Exploitation](https://heap-exploitation.dhavalkapil.com/): Heapのアルゴリズムについても書いてある、How2Heapの前に読むと良い * glibc(特にmalloc.c)のソースコード: バージョン毎に読むと良い(新しいやつぐらいしか読んでないけど) * [Play with FILE Structure](https://www.slideshare.net/AngelBoy1/play-with-file-structure-yet-another-binary-exploit-technique): FSOP, showless leakの前に読んでおきたい ### 日本語 母国語で書かれている資料は貴重 * [Malleus CTF Pwn](https://sanya.sweetduet.info/ctfpwn/): 日本語で書かれたPwn入門で1番オススメ、電子版が買える * [ももいろテクノロジー](http://inaz2.hatenablog.com/): 検索するとだいたい出てくる * [2019年のpwn問を全部解くチャレンジ【前半戦】](https://ptr-yudai.hatenablog.com/entry/2019/07/01/143652): 後半戦(飛んだ先にリンク有)と併せて問題と解法探しに * [newbieからバイナリアンへ](https://smallkirby.hatenablog.com/archive): House of うんたらの解説, pwnの始め方等