はまやんはまやんはまやん

hamayanhamayan's blog

Digits Paradise in Hexadecimal [AtCoder Beginner Contest 194 F]

https://atcoder.jp/contests/abc194/tasks/abc194_f 前提知識 桁DP 解説 https://atcoder.jp/contests/abc194/submissions/20736872 この問題は桁DPで解く。 なお、桁DPが初見という人は他のオーソドックスな問題を先に解くことをお勧めする。 桁DP 以下の…

Mex Min [AtCoder Beginner Contest 194 E]

https://atcoder.jp/contests/abc194/tasks/abc194_e 前提知識 二分探索 (しゃくとり法みたいな考え方) 解説 https://atcoder.jp/contests/abc194/submissions/20735986 二分探索としゃくとり法っぽい考え方を使用して問題を解く。 ちなみにmexという関数…

Journey [AtCoder Beginner Contest 194 D]

https://atcoder.jp/contests/abc194/tasks/abc194_d 前提知識 競技プログラミングにおける確率・期待値問題 - はまやんはまやんはまやん 「有効なのが来るまでカードを引く期待値は、有効なカードを引く確率の逆数になる。」 解説 https://atcoder.jp/conte…

Squared Error [AtCoder Beginner Contest 194 C]

https://atcoder.jp/contests/abc194/tasks/abc194_c 前提知識 主客転倒テク 解説 https://atcoder.jp/contests/abc194/submissions/20735087 言ってるの自分と物理好きさんだけかもしれないんだけれど、主客転倒テクを使う。 今回の問題はAの全組合せに対し…

Job Assignment [AtCoder Beginner Contest 194 B]

https://atcoder.jp/contests/abc194/tasks/abc194_b 解説 https://atcoder.jp/contests/abc194/submissions/20734525 競技プログラミングの基本である、考えうる組合せの全探索を行おう。 今回は、仕事Aと仕事Bをどの従業員に割り当てるかという部分を全探…

I Scream [AtCoder Beginner Contest 194 A]

https://atcoder.jp/contests/abc194/tasks/abc194_a 解説 https://atcoder.jp/contests/abc194/submissions/20734346 実装問題。 与えられた問題を理解して、コードに落とし込もう。 時に競技プログラミングの問題は1文字変数を使って説明されることがある…

Meet the Union Committee [Union CTF]

/?id=2で人を表示させている。 /?id=1とするとadminが出てくる。 とりあえず/?id='してみる。 Traceback (most recent call last): File "unionflaggenerator.py", line 49, in do_GET cursor.execute("SELECT id, name, email FROM users WHERE id=" + para…

Spring MVC [Tenable CTF 2021]

Spring MVC 1 ソースコードを見てみると/mainにflag1がある flag{flag1_517d74} Spring MVC 2 /mainでPOSTリクエストすると、flag2がある flag{flag2_de3981} Spring MVC 3 /mainでmagicWord=pleaseをPOSTすれば、flag3が出てくる flag{flag3_0d431e} Spring…

Send A Letter [Tenable CTF 2021]

?letter= name<return_addr>add</return_addr>aba というなんとも言えない感じになっている。 return_addrに使えるアドレスを入れてみる Message to a appended to /tmp/messages_outbound.txt for pickup. Mailbox flag raised. よくよく見てみるとnameがオウム返しされていた。 これが…

http://167.71.246.232/系 [Tenable CTF 2021]

Stay Away Creepy Crawlers Find the flag where they keep the creepy crawlers away. Crawlersなので、robots.txtを見る flag{mr_roboto} Source of All Evil どこかのソースコードにフラグが入ってるんだろうなぁと思ってみると、ルートページにある flag…

DarkCON Challs [darkCON CTF]

CTFtime.org / darkCON CTF 以下が認証プロセス。 GraphQLが使われているので、とりあえずいつもの抜き出しを行う。 function auth() { var username = document.getElementById("Username").value; var password = document.getElementById("Password").val…

Easy PHP [darkCON CTF]

CTFtime.org / darkCON CTF robots.txtを見てみると?lmaoとあるので、入れてみるとソースコードが出てくる。

Potion [SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192) F]

https://atcoder.jp/contests/abc192/tasks/abc192_f 前提知識 動的計画法 解説 https://atcoder.jp/contests/abc192/submissions/20347402 DPで解くが、考察の流れは分かりにくいかもしれない。 どこから考え始めるか 色々な可能性から攻めていくが、問題の…

Train [SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192) E]

https://atcoder.jp/contests/abc192/tasks/abc192_e 前提知識 ダイクストラ 解説 https://atcoder.jp/contests/abc192/submissions/20346183 ダイクストラ法で解く。 ダイクストラから少ししか変更がないので、ダイクストラを一通り勉強した後の1up問題とし…

Base n [SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192) D]

https://atcoder.jp/contests/abc192/tasks/abc192_d 前提知識 二分探索 解説 https://atcoder.jp/contests/abc192/submissions/20345441 誤読してしまったが、それもまた競プロなので問題を責めるべきではない。 場合分け 例えば、X=1, M=10の場合はどのよ…

Kaprekar Number [SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192) C]

https://atcoder.jp/contests/abc192/tasks/abc192_c 解説 https://atcoder.jp/contests/abc192/submissions/20344221 なかなか複雑な問題に見えるが、問題文に書かれていることをシミュレートすれば通る。 この辺のどこから深く考えるかというのはスピード…

uNrEaDaBlE sTrInG [SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192) B]

https://atcoder.jp/contests/abc192/tasks/abc192_b 解説 https://atcoder.jp/contests/abc192/submissions/20343662 各文字毎に奇数番目、偶数番目で判定していく。 C++であれば、判定はasciiコードを使用した判定方法を使うのがフルスクラッチでやるには…

Star [SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192) A]

https://atcoder.jp/contests/abc192/tasks/abc192_a 解説 https://atcoder.jp/contests/abc192/submissions/20343316 100で割った余りを使用するのが簡単な解法。 100で割った余りを計算すると、小さい方で一番近い100の倍数との差が得られる。 求めたいの…

DiceCTF 2021 Web Writeups

CTFtime.org / DiceCTF 2021 題名 AC人数 AC 分野(白塗り) 解説 Babier CSP 349/1060 AC CSP Babier CSP [DiceCTF 2021] - はまやんはまやんはまやん Missing Flavortext 224/1060 AC SQL Injection Missing Flavortext [DiceCTF 2021] - はまやんはまやん…

Build a Panel [DiceCTF 2021]

見ると、flagテーブルにflagが入っているが、問題文ではXSSが要求されているように見える。 XSSでadminのtokenを手に入れたあと、flagを手に入れる方法があるのだろうか。 でもcookieはどれもhttponlyがつけられている…CSRFか? /admin/debug/add_widgetか。…

Web Utils [DiceCTF 2021]

XSSが必要になる。 XSSが成立しそうな所を探してみよう。 画面出力部分ではdocument.querySelector('div').textContent = data;のようにtextContentを使っているので攻めるのは難しそう。 他には…と探すと、view.htmlのif (type === 'link') return window.l…

Missing Flavortext [DiceCTF 2021]

SQL Injectionっぽい。 app.post('/login', (req, res) => { if (!req.body.username || !req.body.password) { return res.redirect('/'); } if ([req.body.username, req.body.password].some(v => v.includes('\''))) { return res.redirect('/'); } // s…

Babier CSP [DiceCTF 2021]

CTFtime.org / DiceCTF 2021 / Babier CSP ソースコードが与えられる。ソースコードをよく見てみると、以下のようになっている。 const crypto = require("crypto"); const NONCE = crypto.randomBytes(16).toString('base64'); nonceを使ったCSPのためにcry…

2020年のうちに量子プログラミング入門しといた

2020年のうちに量子プログラミング入門しといた 年末ちょっとだけ時間ができたので、やろうやろうと思っていた量子プログラミングを入門しておいたので、その記録。 今年のAdvent Calenderの記事を雑に仕上げてしまったので、その埋め合わせになればと思いま…

競技プログラマーのブログをまとめてみた

この記事は、Competitive Programming (1) Advent Calendar 2020 - Adventarの22日目の記事です。 前日はskyaozoraさんの10年間の競プロAdventCalenderの記事を振り返るです。 過去記事はこちらです。 2019年1 今年中に理解する!多項式、母関数、形式的べき…

Milk [SECCON 2020 Online CTF]

Milk Sadly not every developer is well posted in the cutting-edge technologies, so sometimes bizarre interface is driven under the hood. https://milk.chal.seccon.jp/ milk.tar.gz Update(2020/10/10 17:38): We disclosed a part of our crawler …

finger-warmup (beginner) [DamCTF 2020]

finger-warmup (beginner) babayet2 A finger warmup to prepare for the rest of the CTF, good luck! You may find this or this to be helpful. https://realpython.com/python-requests/ https://programminghistorian.org/en/lessons/intro-to-beautifu…

Capsule [SECCON 2020 Online CTF]

Capsule Genre: Web+Misc https://capsule.chal.seccon.jp/ capsule.tar.gz 調査 ソースコードのdiffを取ってみると、実行環境側でTypeScriptが廃止されている。 jsコードでもprivate使えるのね… こっちも何とか取ってこれないか? class Flag { #flag; cons…

Beginner's Capsule [SECCON 2020 Online CTF]

Beginner's Capsule warmup Genre: Web+Misc https://beginners-capsule.chal.seccon.jp/ beginners_capsule.tar.gz 調査 ソースコードを見る前にBurp SuiteとChromeデベロッパーツールを立ち上げて、挙動確認してみる。 試しにconsole.log(flag.#flag);とし…

Lamps [HHKB プログラミングコンテスト 2020 E]

https://atcoder.jp/contests/hhkb2020/tasks/hhkb2020_e 前提知識 主客転倒 二次元累積和 二分探索 解説 https://atcoder.jp/contests/hhkb2020/submissions/17319314 初めて見る人には何から手を付けるべきか分からない問題であるように思う。 2K通りをす…