initial-article

initialize article Gatsby との出会い ブログを作ろうと思いたち、いい感じのフレームワークを探してみた。 rails とかで作ろかと考えたが、セキュリティ面でどうしても不安がある。(臆病) そういえば、サークルで Hugo を使ったことがあった。 Hugo は SSG、静的なサイトを生成してくれるエンジンなのだが、これがなかなかクールな機能をもっている。 そこで静的サイトジェネレーターを探す。 そうすると、なにやら 「Hugo より有名だよ!」 みたいなノリで紹介されている Gatsby を見つけた。 紹介している記事を読んでみると、悪くなさそう。 僕は一度使ったこと…

ksnctf Q.4

write up 見ずに頑張ろうと思ってまる 24 時間くらい費やしたけど、どうにも行き詰まり、最終的に、解答方針を見ることになってしまった。 最終的な方針 https://www.slideshare.net/tecsk07/20191005lt slideshare で公開されていた write up を参考にした。 objdump して、fopen を使っている。しかし、esp+418 が 1 になっている限りたどり着かないようになっている。 そこで、ここの処理をまるまる fopen の処理のところまで飛ばしてしまおうというわけ。 具体的には、フォーマット文字列攻撃を使って GOT を…

ksnctf Q.5

70pt だし、そんな難しくないでしょと思いながら挑戦。 最初、onion を意識しすぎて、Tor について調べまくってた。 当然有益な情報は得られない。 そこで、文字列をよく観察してみると、ascii の範囲ないであることに気付く。 色々調べていると、base64 って ascii の a~z + / = で構成さえてるらしいと知る。 試しに decode してみる。 一見変化していないように見えるが、調べてみるとちょいちょい変化している。 「これは…?」と思いながら何度もデコードしまくる。 そうすると、明らかに雰囲気の違う文字列が出現。 ちゃんと変換できている自信がなかったため、pyth…

ksnctf Q.6

これはログインまでいったものの、そこからが行き詰まったため、write up を見た。 そして、自分でまとめ直してみようとおもう。 これは、SQL インジェクションの問題だが、ただ と打てばよいものではない。 ブラインド SQL インジェクションという手法を使う。 これは、直接 SQL 実行結果をみることはできずとも、クエリを実行した後の様子を観察することで情報を取得するもの。 今回の問題ではまさに SQL の実行結果をみることはできない。 しかし、ログインできたかどうかがわかる。 この「ログインできたかどうか」を使って、FLAG の奪取を目指す。 今回普通に SQL インジェクションでロ…

ksnctf Q.3

ksnctf Q.3 色々調べてみると、にゃるこさんのコードが js としてちゃんと機能していることが分かった。 最初は1からコードを見やすい形に直して理解しようとしたが、めんどくさくなり別のやり方を模索。 そうしているうちに、かんまで一行区切りだということに気付いたため、コードをカンマ区切りで改行し、 各行を実行して様子を調べることにした。(chrome のディベロッパーツールを使用) そうすると、ひときわ長い行があり、それを実行すると utf-8 の文字列であることが分かった。 \u0030 みたいなやつ。これを変換機にかけると見やすい js が出現。 これを読みといていく。 全体のコー…