とあるwebアプリをFlaskで作っていて、アカウント登録した際に登録したメアドにメールを送るようにしたので、その方法を書きます。 from flask import Flask from flask_mail import Mail, Message app =Flask(__name__) mail=Mail(app) app.config['MAIL_SE…
Sherlock Holmes 70点 http://ctfq.sweetduet.info:10080/~q26/に行くことでディレクトリ構成が見れます。何度かリンクを移動するうちに、すべてのリンクがindex.plを介して表示されていることに気が付きます。なので、http://ctfq.sweetduet.info:10080/~q2…
Lo-Tech Cipher 60点 zipファイルを解凍すると、砂嵐みたいな画像が2つ入っている。重ねたら文字が出てきそうな雰囲気だったので、パワポで画像を重ねて表示してみると、 The last share is hidden in the ZIP と出てくる。ここでヒントをもとに、元のzipフ…
Double Blind 50点 docxファイルは圧縮ファイルなのでとりあえず解凍します。 $ unzip paper.docx するとたくさんにxmlファイルができるので、その中のdocument.xmlを見てみるとフラグが書いてあります。
Math I 150点 RSA暗号を復号する問題です。素因数p,qが既知であるため拡張ユークリッドの互除法を用いて復号することができます。 RSA暗号 とても大きな素因数p,qがあったときに、p,qの積nを求めるのは簡単だが、nからp,qを求めるのは難しいということを利用…
ZIP de kure 150点 とりあえず解凍する。 $ unzip flag.zip Hint: - It is known that the encryption system of ZIP is weak against known-plaintext attacks. - We employ ZIP format not for compression but for encryption. [flag.zip] flag.html pass…
Square Cipher 60点 大文字と小文字を判定してみていったところQRコードっぽくなったので、numpyを使ってきれいに出力。 import numpy as np import matplotlib.pyplot as plt a = "oomktvziqtaovmmpxzoqrzsxlpwpgojuDQEMISYnnVYnvyWRhHsDXnSCXAVVZjtZbknedE…
MathⅡ 50点 来ました。二分探索したくなるやつ。 x = 274804002340875032441111945052338695066094639885538684207460638041831698138955791698008614030188794770670069893083077967804847453153803913408967500061296200418900142271531614777955446068446…
KanGacha 130点
USB flash drive 80点 ftk imagerを使って中身を見てみると、FLAGがある。 別解法 flsコマンドを使う。(flsコマンドはsleuthkit内に入っているコマンドの一つで、 ディスクイメージ内のファイルとディレクトリの名前を列挙してくれる) $ fls drive.img r/r…
Proverb 70点 とりあえずsshで接続 $ ssh -p 10022 q13@ctfq.sweetduet.info password: 8zvWx00MakSCQuGq カレントディレクトリを確認してみる $ ls -l total 28 -r-------- 4 q13a q13a 22 Jun 1 2012 flag.txt ---s--x--x 1 q13a q13a 14439 Jun 1 2012 pr…
Programming 110点 とりあえずcppファイルをダウンロードして実行してみると FROG_This_is_wrong_:( 違うらしい。不自然に配置された空白が変に思い、調べてみるとwhitespaceという言語があるらしい。 Whitelips the Whitespace IDE オンラインで実行できる…
login 120点 とりあえずSQLインジェクション ' or 1==1 -- をIDに入れてあげると、 Congratulations! It's too easy? Don't worry. The flag is admin's password. となりうまくいったようだが、Flagはまだ手に入らない。パスワードがFlagになっているらしい…
「ハッキングラボの作り方」を、Virtual Box のインストール、kali linux インストール&環境構築まで進めた。 「Kaggle本」を79ページ(タスクと評価指標)まで進めた。
G検定とは - 一般社団法人日本ディープラーニング協会【公式】 はじめに 2020年第二回G検定(ジェネラリスト検定)の試験料が半額になっていたため受検したところ合格できたのでそれについて思ったことを書きます。 G検定とは G検定(ジェネラリスト検定)と…
コロナウイルスの影響で大学から大量の課題が出されています。まじで多すぎます。そして今はテスト期間、、。時間がないんです、、。 とか言ってられないので明日からは朝、このブログを執筆しようと思います。 今のところの記事に書くネタ(勉強したいこと…
www.amazon.co.jp 面白そうな本が売っていたのでポチってしまいました。これから少しずつ読み進めていこうと思います。
Reserved 30点 printなどがありどうやらソースコードっぽいので調べてみるとperlだということがわかります。 paizaioに投げて実行するとFlagをゲットできました。
ksnctf今日も元気にやっていきましょう! G00913 30点 円周率の中で最初に出てくる連続した10桁の素数を求める問題です。 競プロerには優しい問題でしたね! import math def is_prime(n): if n == 1: return False for k in range(2, int(math.sqrt(n)) + 1…
ctfをやっていると、いろんな環境が必要になります。 時にはwiresharkを使うためにWindowsを使ったり、また時にはlibureofficeを使うためにLinuxを使ったり、、、。 現在の僕の環境はデュアルブートでWindows10とUbuntu LTS20.04が入っているのですが、いち…
cpawctfが解き終わってしまったので今日からは ksnctf を解いていこうと思います。 36問もありますね! Easy Cipher 50点 まずはいつものやつですね。 def encrypt(text, s): result = "" for char in text: if (char == " " or char == "."): result += cha…
Q23.[Reversing]またやらかした! わ か ら な い Q24.[Web]Baby's SQLi - Stage 2- [解法]SQLインジェクションをする。よく使われるのは「' OR 1=1--」。 SELECT uid FROM account_table WHERE uid='ユーザID' AND pw='パスワード' 上のようなSQLがあったと…
cpawctf今日もやっていきます。 Q22.[Web]Baby's SQLi - Stage 1- [解法]SQL書くだけ、それだけ。 SELECT * FROM palloc_home; Q28.[Network] Can you login? [解法]パケット解析はwireshark。FTPでフィルタをかけると、パスワードやユーザー名が暗号化され…
cpawctfの続きを進めていく! Q19.[Misc]Image! [解法] mimetypeにapplication/vnd.oasis.opendocument.graphicsと書いてあり、調べるとこれはLibreOfficeで開けるっぽいので、zipファイルのまま開いたらflagをゲット。(Ubuntuがあるからいいけど、windowsの…
この記事 kinako-mochimochi.hatenablog.com を読んでまずはcpawctfをやってみることにした。 level1は簡単な内容だったのでパパっと。 level2からわからない問題が出てきました。 Q15.[Web] Redirect リダイレクトの仕組み自体は知っていたけど、どこでそれ…
これからできるだけ毎日プログラミングに関連する記事を投稿します。 おもにCTF, kaggle, インターン先で学んだこと, Qiita記事を読んで学んだことなどを書いていこうと思います。 よろしくお願いします。