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

hamayanhamayan's blog

SECCON Beginners CTF 2021 Writeups 解説

チームwhitecatとして参加して1689点85位でした。 Webしかやれていないのですが、メンバーが強くてここまでこれました。 以下、自分が解いた問題のwriteupです。 Web osoba ちょっと探索すると/?page=public/wip.htmlのようなURLになっているので、ディレク…

DCTF 2021 Writeups

CTFtime.org / DCTF 2021 Welcome Sanity Check トップページに書いてあるので頂いておこう。dctf{welc0m3_t0_dCTF} Misc Encrypted the flag I have フォントを解析して何が書いてあるかを抜き取れという問題。 フラグはdctf{から始まるんだよなぁ…と思いつ…

Count Descendants [エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202) E]

https://atcoder.jp/contests/abc202/tasks/abc202_e 前提知識 オイラーツアー BIT クエリ先読みと水平走査 解説 https://atcoder.jp/contests/abc202/submissions/22837009 最後までの理解は難しいかもしれないが、問題の言い換え部分までは参考になるかも…

aab aba baa [エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202) D]

https://atcoder.jp/contests/abc202/tasks/abc202_d 解説 https://atcoder.jp/contests/abc202/submissions/22836918 辞書順に並び替えると、 a???????? b???????? の並びになっており、K番目ということを考えると、このどちらのグループに入るかということ…

Made Up [エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202) C]

https://atcoder.jp/contests/abc202/tasks/abc202_c 解説 https://atcoder.jp/contests/abc202/submissions/22836846 ちょっとだけ整理 今回の問題は、解く前にまずは整理することが重要である。 B[C[j]]の部分であるが、別途配列Dを考えて、単純にD[j] = B…

180° [エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202) B]

https://atcoder.jp/contests/abc202/tasks/abc202_b 解説 https://atcoder.jp/contests/abc202/submissions/22836805 シミュレーション問題。 問題で要求されていることを実装しよう。 自分の実装例について説明する。 反転する C++であればreverse関数を使…

Three Dice [エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202) A]

https://atcoder.jp/contests/abc202/tasks/abc202_a 解説 https://atcoder.jp/contests/abc202/submissions/22836615 abcについて反対側の面を計算(7-aのように)して総和を求めて答えよう。 特に注意点はないですね。 もし、この問題に詰まった場合は AtC…

c4ptur3-th3-fl4g 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 task 1: Translation & Shifting 基本的にはcyberchefのMagicで行ける。 どういうデコード方法かも分かるので勉強になる。 cyberchefのMagicで行けなかったものを解説する。 c4n y0u c4p7u23 7h3 f149? これはアルファベットを似た…

LazyAdmin 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 第一段階:ユーザーフラグを得る とりあえずnmapとgobuster $ export IP=[yourIP] $ nmap -sC -sV $IP > nmap.txt 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2…

Overpass 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 第一段階:ユーザーシェルを奪う とりあえずnmapとgobuster $ nmap -sC -sV $IP 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open http Golang net/http server (Go-IPFS json-rpc or In…

Agent Sudo 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 Task2: Enumerate とりあえずnmapとgobusterしよう。 $ export IP=10.10.149.81 $ nmap -sC -sV $IP 21/tcp open ftp vsftpd 3.0.3 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open htt…

Inclusion 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 第一段階:User Flagを得る ポートスキャンとHTTPのスキャンをしてみよう。 $ export IP=[your IP] $ nmap -sC -sV $IP 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open http Werkzeug …

Crack the hash 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 Task1 パスワードクラックといえば、まずはCrackStationなので、全部まとめて検索してみる。 Hash Type Result 48bb6e862e54f2a795ffc4e541caed4d md5 ■■■■ CBFDAC6008F9CAB4083784CBD1874F76618D2A97 sha1 ■■■■■■■ 1C8BFE8F801D797…

Shortest Distance Query [第六回 アルゴリズム実技検定 O]

https://atcoder.jp/contests/past202104-open/tasks/past202104_o 前提知識 木上での最短経路(LCA, ダブリング, HL分解…) 最短経路問題 解説 https://atcoder.jp/contests/past202104-open/submissions/22667026 最終問題。今までなかなか見たことがない難…

Activities [第六回 アルゴリズム実技検定 N]

https://atcoder.jp/contests/past202104-open/tasks/past202104_n 前提知識 動的計画法 解説 https://atcoder.jp/contests/past202104-open/submissions/22661300 最小費用流とか貪欲法とか微妙に色々見える問題とか制約になってはいるが、考えてみるとオー…

Equal Queries [第六回 アルゴリズム実技検定 M]

https://atcoder.jp/contests/past202104-open/tasks/past202104_m 解説 https://atcoder.jp/contests/past202104-open/submissions/22660709 最初に書いておくと実装がとてもしんどいのでデバッグ用出力を駆使しながら実装していく必要がある。 さて、頑張…

Urban Planning [第六回 アルゴリズム実技検定 L]

https://atcoder.jp/contests/past202104-open/tasks/past202104_l 前提知識 最小全域木 (幾何) 解説 https://atcoder.jp/contests/past202104-open/submissions/22659267 ICPCでよく見るような幾何問題。 幾何問題といっても特殊な知識を要求するものでは…

Common Coupon [第六回 アルゴリズム実技検定 K]

https://atcoder.jp/contests/past202104-open/tasks/past202104_k 前提知識 動的計画法 解説 https://atcoder.jp/contests/past202104-open/submissions/22655816 買う買わないの問題。スコアがあって最大化するし、同じ商品は複数買えない。 いかにもDPな…

Points to Cost [第六回 アルゴリズム実技検定 J]

https://atcoder.jp/contests/past202104-open/tasks/past202104_j 前提知識 三分探索 解説 https://atcoder.jp/contests/past202104-open/submissions/22655262 数学の知識と「三分探索」というのを知っているかという問題。 三分探索が分からない場合は別…

PAST to Fishing [第六回 アルゴリズム実技検定 I]

https://atcoder.jp/contests/past202104-open/tasks/past202104_i 前提知識 動的計画法 解説 https://atcoder.jp/contests/past202104-open/submissions/22654667 DPに慣れていると問題設定と制約を見るとDPかなと一直線で結びついてしまう。 考察過程が何…

Can Can Mart [第六回 アルゴリズム実技検定 H]

https://atcoder.jp/contests/past202104-open/tasks/past202104_h 解説 https://atcoder.jp/contests/past202104-open/submissions/22654243 缶切りが必要なものと必要でないものを分けて考えよう。 すると、それぞれから最適に缶を選択してくることを考え…

One Step at a Time [第六回 アルゴリズム実技検定 G]

https://atcoder.jp/contests/past202104-open/tasks/past202104_g 解説 https://atcoder.jp/contests/past202104-open/submissions/22652811 何から始めようかという感じであるが、愚直なやり方から考えてみる。 愚直に探索できないか 操作を行っていく上で…

Safety System [第六回 アルゴリズム実技検定 F]

https://atcoder.jp/contests/past202104-open/tasks/past202104_f 解説 https://atcoder.jp/contests/past202104-open/submissions/22645973 問題文で要求されている仕様も難しいが、ちゃんと読み解ければ実装はそれほど難しくない。 foreverとなる場合 自…

Third from Front [第六回 アルゴリズム実技検定 E]

https://atcoder.jp/contests/past202104-open/tasks/past202104_e 解説 https://atcoder.jp/contests/past202104-open/submissions/22645719 高度実装問題である。 配列では任意箇所の要素を削除することは時間がかかる。 先頭123個目、末尾123個目が操作さ…

K Integers Summations [第六回 アルゴリズム実技検定 D]

https://atcoder.jp/contests/past202104-open/tasks/past202104_d 前提知識 累積和 解説 https://atcoder.jp/contests/past202104-open/submissions/22645520 ここから点数があがり、単なる実装問題ではなくなってくる。 計算量を意識していこう。 愚直解法…

Buying a Cellphone [第六回 アルゴリズム実技検定 C]

https://atcoder.jp/contests/past202104-open/tasks/past202104_c 解説 https://atcoder.jp/contests/past202104-open/submissions/22645364 たくさんの入力が与えられて、要求仕様を満たす実装ができるかを問う問題。 どんな実装をしても計算量が超えてし…

PASTal Code [第六回 アルゴリズム実技検定 B]

https://atcoder.jp/contests/past202104-open/tasks/past202104_b 解説 https://atcoder.jp/contests/past202104-open/submissions/22645258 文字列をマッチングしてくる実装問題となっている。 連結される文字列はどちらであっても4文字なので、文字長をN…

POSTal Code [第六回 アルゴリズム実技検定 A]

https://atcoder.jp/contests/past202104-open/tasks/past202104_a 解説 https://atcoder.jp/contests/past202104-open/submissions/22645201 実装問題。 ループ(必須ではないか)と文字列が扱えれば解ける問題。 数字の判定に戸惑うかもしれない。 C++では…

RootMe 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 Task2:偵察 設問を見ると何をすればいいかが分かる。nmapとGoBusterしよう。 $ nmap -sC -sV $IP 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.29 ((Ubuntu)…

Xor Distances [マイナビプログラミングコンテスト2021(AtCoder Beginner Contest 201) E]

https://atcoder.jp/contests/abc201/tasks/abc201_e 前提知識 (XOR関連知識) 解説 https://atcoder.jp/contests/abc201/submissions/22639728 まず、方針を色々考えていく上でビット毎に処理していくという発想を出すところがまず難しい。 ビット毎に処理?…