日記

日本語の勉強のためのブログ

【Vivaldi】ウェブパネルでChatGPT使用時に改行ができない

問題 VivaldiのウェブパネルにChatGPTを登録して使用する際、Shift+Enterによるプロンプト改行ができず、代わりに空白(おそらく)が入力される。 原因 ウェブパネルを「モバイル表示」にしている 解決法 ウェブパネル上部のモバイル・デスクトップ表示切り…

「JavaScriptとして実行できるアスキーアート」を自動生成する

作成したデモはこちら https://kalaxity.github.io/jsfuck-asciify/ 概要 「プログラムのソースコードとしても動作するアスキーアート」を作成する試みがある。 Pythonの例:https://www.m3tech.blog/entry/python_quine JavaScriptの例:https://monpoke1.h…

SECCON Beginners CTF 2025 writeup

CTF

今回も1人チームで参加。17問解いて1908pt、194位/880チームだった。 完走した感想 web skipping (beginner) log-viewer (easy) メモRAG (medium) memo4b (medium) crypto seesaw (beginner) 01-Translator (easy) misc kingyo_sukui (beginner) url-checker…

IERAE CTF 2025 writeup(warmupだけ)

CTF

warmupだけ解いたので解法を残す。 個人的難易度について 個人用として、CTF初級者の私の立場で見た難易度を記載している。上に行くほど簡単。 瞬殺:問題を見てすぐに解法が思いつく 弱:数分で解ける 中:1時間以内に解ける 強:数時間かけてやっと解ける …

【ffuf】サブドメイン列挙で結果が出ないときは`-mc all`を試そう

CTF

注意 本記事はHackTheBoxの問題「Three」のネタバレを含みます。 結論 ffufはデフォルトでHTTPレスポンスコード404を除外する設定となっている そのため、ffufでのサブドメイン探索時は-mc allオプションを付与し、全レスポンスコードを許容する設定にするの…

【CTF/pwn】バイト列をバイナリに渡す方法【echo/python3】

CTF

何回も調べている気がするのでメモ。 Abstract echoやpython3コマンドを使ってバイナリにバイト列を渡すには、以下を使っておけばOK。 echo -e "\x68\x6f\x67\x65" | ./vuln python3 -c "import sys; sys.stdout.buffer.write(b'\x68\x6f\x67\x65')" | ./vul…

WindowsXP 32bit PCのHDDを完全に初期化する(リカバリディスクなしで)

32bitCPUが載ったWindowsXPのPCを廃棄に伴い初期化する必要が出てきたが、リカバリディスク等がどこにもない。 この状態でHDDを完全に初期化できないか試してみる。 調べたところ32bitCPUに関する記事が少なかったので、メモとして残しておく。とはいえ、注…

picoCTF2025 writeup

CTF

今年もpicoCTF2025に参加した。8510点中5210点取得し、6533人*1中284位だった。 図1. 最終スコア 昨年(2725点/9225点、1029位/6957位)から大躍進し、目標であった「100点問題を全部解く」「全スコアの50%(=4255点)以上を取得する」をすべて達成できたう…

防衛省サイバーコンテスト2025 writeup

CTF

4000点取得し、480人中68位だった。NWとWEを完答できたうえに、目標としていた4000点を(ギリギリ)取得することができて非常に嬉しい。 PG 縮めるだけじゃダメ(100) 暗算でもできるけど?(100) loop in loop(300) NE 頭が肝心です(100) 3 Way Hands…

git clone時にearly EOFエラーが出た場合は回線速度が遅すぎるだけの可能性がある

Abstract git clone時にfatal: early EOFエラーが発生することがある 一般的にはclone対象のリポジトリが大きすぎてダウンロードがタイムアウトしていることが原因 しかし、単純に回線速度が遅すぎるせいで当該エラーが発生している場合もある 問題 badtodo…

NVIDIA関係のドライバを入れる(バージョン11.8指定)

バージョンを上げたかったが、意外とバージョン指定でインストールする方法がなかったのでまとめる。 環境 OS: Ubuntu 22.04.1 LTS kernel: 6.8.0-50-generic nvidia-driverとCUDAを入れる(バージョンを11.8に指定) 以下の2ページを見比べて実行するのが一…

eBPFでiphdr構造体のsaddr/daddrをIPアドレスの表記に直して出力する方法

1. bpf_printkのフォーマット指定子%pI4を使う 2つ目の方法とは違い、ビッグエンディアンに直す必要はない。 フォーマット指定子がpから始まっていることからわかるように、引数にはアドレスを渡す必要があるので注意。 参考:https://qiita.com/todok-r/ite…

【TWP】リンクを含むWebページの翻訳精度を上げる

前提 「TWP - Translate Web Pages」という拡張機能を用いてWebページの翻訳を行っている。 github.com 問題 この拡張機能でWebページを翻訳すると、以下の英文*1が、 CISA <a>became</a> the first Authorized Data Provider (ADP) earlier this year, allowing th…

【libbpf/C言語】eBPFのuprobeでprintfをフックしてみる

以下のステップで進む。 uprobeの概要、使用法 eBPFプログラムの作成 ユーザ空間プログラムの作成 コンパイル、動作確認 1. uprobeの概要、使用法 eBPFにはシステムコールや関数にフックする機能があるが、用途によって大きく2つに分かれる。 kprobe:カーネ…

IERAE CTF 2024 Baby's writeup

CTF

チーム名numeron/ユーザ名numeronで参加。5問解いて693点取得し、224人中86位だった。 もともと参加の予定はなかったのであまり時間は取れなかったが、とっつきやすい問題も多く楽しめた。 OMG 戻るボタンを連打したら出てきた。 IERAE{Tr3ndy_4ds.LOL} assi…

コトバスタの単語をできる限りサルベージしたい

概要 コトバスタの概要についてはニコ百を参照。 dic.nicovideo.jp 目的 現時点で残っているコトバスタのアーカイブをすべて取得し、単語リストを作成する。 より具体的には、Wayback Machineからコトバスタの全アーカイブを取得し、スクレイピングによりタ…

関数ポインタとそのキャストについて

調べてわかったことをまとめる。 関数ポインタ その名の通り、関数を指すポインタ。次のように定義する。 // long型の引数を2つ受け取り、long型の値を返す、varという関数へのポインタ long (*var)(long, long); ちなみに*varを囲むカッコを外してしまうと…

WaniCTF2024 writeup

CTF

10問解いて233位だった。数時間しか参加できなかった割にはよく解けたと思うが、惜しいところで詰まった問題も多く技術不足を感じた。 crypto beginners_rsa (beginner) nが5つの素数の積として定義されている。こうした問題はMulti-Prime RSAと呼ばれるらし…

SECCON Beginners CTF 2024 へなちょこwriteup

CTF

2024/06/15, 16に開催されたSECCON Beginners CTF 2024に1人チームで参加し、8問解いて173位*1だった。 図1. 最終結果 別件で忙しくあまり解けなかったものの、それでもbeginner問題はWeb以外全部解けて良かった。またバイナリを読む力も上がっていると感じ…

【Win11/Virtualbox】"Begin: Loading essential drivers"と出て起動がストップする

問題 Vagrantを使ってVirtualboxで仮想マシンを起動すると、仮想マシン側で"Begin: Loading essential drivers ..."と表示されたまま動作が止まってしまう。 図1. 起動ストップ時のVMの様子 Vagrant側も以下の通り止まったままとなり、そのうちタイムアウト…

【Win11/VirtualBox】デタッチモードで起動できない

2024/08/05追記 Windows11 23H2(osビルド22631.3880)の別マシンで、デタッチモードで(Vagrantfileにvb.gui = trueを指定せずに)起動したところ、問題なく起動できた。やはりWindowsのバージョンに起因する問題の可能性が高い? 問題 VirtualBoxをバック…

CASIO waveceptor WVQ-M410のバンド交換

5年ほど使用してバンドがちぎれてしまったため修理してみた。 既に類似機種の交換方法がYouTubeに上がっている↓ため、単なる実践報告になる。 www.youtube.com 交換用バンド Yahooショッピングで購入した。2900円。 届いた袋には交換対象のモデル名が書かれ…

SpringForwardCTF2024 writeup

CTF

個人チームで参加し、4630ポイント取得して29位だった*1。bin問題が1問解けた上にmiscも全問解くことができたので自分にしては上出来だと思う。 result Bin TestofLuck 与えられたバイナリをghidraで解析していくと、次のことがわかる。 main() settings.txt…

シェルコードの入手&実行

以下の記事を読んで自分なりに整理した内容を書く。 inaz2.hatenablog.com note.com シェルを起動するアセンブリコードを書く シェルを起動するだけのプログラムを作成した。 #include <unistd.h> int main() { char *argv[] = {"/bin/sh", NULL}; execve(argv[0], arg</unistd.h>…

WSL2+kali+qemuでmikan本の学習(Xサーバ不要)

やりたいこと 以下の環境で「ゼロからのOS自作入門」の学習を始めたい。 Windows11 WSL2 + qemu kali linux Xサーバは使わない やったこと kaliのインストール WSL2でkali linuxを用意する。WSL版は一部のツールしか入っていないため、フルインストールを行…

picoCTF2024 writeup

CTF

100pt問題とgeneral問題は全部解いた。2725点で1029位。終了日を忘れていたせいで気づいたら終わっていた… WebDecode (Web, 50) Commitment Issues (General, 50) interencdec (crypto, 50) Time Machine (general, 50) Blame Game (general, 75) Collaborat…

リバースプロキシで複数のコンテナに通信を振り分ける(+GoogleCloudを使ってみる)

チュートリアルをやってみた記録。勉強中なので表現に誤りがあればお知らせください。 やりたいこと Dockerを用いて複数のWebサーバを立て、 http://<サーバIP>/web1 → webサーバ1にルーティングされる http://<サーバIP>/web2 → webサーバ2にルーティングさ…

PINE64+ArmbianでWi-Fiに接続する

はじめに PINE A64+(以下、PINE64)にArmbianを入れて遊んでいるが、Wi-Fiが使えないのでどうにかしたい。 無線LAN子機はすでに持っているが、ドライバが入っていないので接続しても認識されない状況。 やりたいこと 無線LAN子機のドライバを入れ、デバイス…

uBlockOriginを使ってクリック済のリンクの色を変更する

以前こんな記事を書いた。 everykalax.hateblo.jp これをuBlockOriginのフィルター機能で実現するには、uBlockOriginの「ダッシュボード」→「マイフィルター」に以下のフィルターを登録すればよい。 www.google.com##a:visited:style(color: green !importan…

防衛省サイバーコンテスト 2024 writeup

CTF

32問中16問解けた。合計得点は188点で84位。あと数時間あれば… 進捗 あまり参考にならないかもしれないがwriteupを置いておく。 ※解きながらwriteupを書いていたので、結局解けなかった問題についても記述してある。 Crypto Information of Certificate (10)…