/dev/null

脳みそのL1キャッシュ

Google CTF 2020 - Write-up

はじめに 2020/08/22~2020/08/24の間に開催されていたGoogle CTF 2020にチームTomatosaladとして出場しました。今回は3人で参加し、 4問解いて163位でした。 reversing問 BEGINNER ELFバイナリを解析する問題です。main 関数の中は以下のようになっています…

【小ネタ】GitHub のコミット履歴とかプルリクで表示されている日時をわかりやすくしたい

はじめに GitHub のコミット履歴って yesterday とか 2 days ago のように表示されますよね。見てる時点での日時から逆算すればいつかはわかるんですが、一考してしまいます。 これを、YYYY-MM-DD hh:mm:ss にしたらもっとわかりやすいのになー ということで…

Pythonでサブモジュールを自動でインポートする

はじめに CTF用のライブラリを書いてるときに生じた問題について書きます。 問題 Pythonでライブラリを書くとき、そのライブラリの使い心地を考えると思います。例えば、自作ライブラリでutilモジュールを作っていたとしましょう。 utilモジュール以下には複…

TSG CTF 2020 write-up

はじめに 2020/7/11〜2020/7/12に開催されたTSG CTF 2020にチームTomatosaladとして参加しました。結果としてはWelcome問を除いて2問解いて、順位は52位でした。 ぶっちゃけ難しかったです。解けなかった問題を復習しないとなー… はじめに Beginner's Web 問…

poetryでpythonの依存関係管理

はじめに 今まで自分はPythonでライブラリ、CLIツールを書く場合、大抵はpipとrequirements.txtで依存管理していましたが、なんだか界隈ではPipenvとかpoetryとかが流行っているのでこの流れに乗っておこうと思います。 選択肢としてPipenvとpoetryがありま…

redpwnCTF 2020 write-up

はじめに redpwnCTF 2020というCTFに1週間出ていたので、そこで解いた問題のwrite-upを書いていこうと思います。 CTFの結果は167/1494位でした。まあまあ、悪くはないけど良くもない感じです…欲を言えば100位以内に入りたかったですね… 解いた問題は全部で19…

symfony/consoleを使ってPHPでCLIを書いてみる

はじめに 前回は素のPHPでCLIツールを書いてみたのですが、如何せんしょぼい…なので、今回はsymfony/consoleというライブラリを使って、リッチなCLIツールを書いてみたいと思います。 今回の成果物はここにあります。 symfony/consoleとは symfony/consoleは…

Rustの文字と文字列について

はじめに Rustの文字、文字列型(char, String, str)についてよく理解していなかったので調べてみました。 char型 文字型です。Rustの文字型は1バイトを表す型ではなく、Unicodeスカラー値1つを表す型です。なので、日本語のかな文字のような文字も表現する…

練習のためにRustで簡単なシェルを書いた感想

はじめに 過去に挫折経験があるRustですが、最近また勉強をはじめました。実践Rust入門という本を読みながら勉強していましたが、本を読むだけじゃ身につかない気がしたので、練習でシェルを書いてみました。 成果物は以下にあります。 github.com 機能 fork…

SECCON Beginners CTF 2020 Writeup

はじめに 2020/05/23 14:00から2020/05/24 14:00まで開催されていたSECCON Beginners CTF 2020にチームTomatosaladとして参加しました。 www.seccon.jp 最終順位は30位でした。Welcome問を解いたチームの数が962なので、その中での30位は個人的には満足のい…

picoCTF2019でpwn練習: leap-frog

はじめに picoCTF2019というセキュリティの知識が問われるコンテストがあるのですが、問題がとても教育的なので解いてて楽しいです。 このコンテストは2019年9月27日~2019年10月11日の間に開催されていたらしいですが、 今現在も問題サーバが生きています。…

PHPでCLIツールを書いてみる

はじめに 誰得だが、あまりPHPでCLIツールを書く記事が見つからなかったので書いてみました。本記事では、以下の3種類のCLIツールを書いてみます。 コマンドライン引数で受け取ったファイルの中身を出力(catコマンドもどき) コマンドライン引数で受け取っ…

位置独立実行形式(PIE)によって確保できるエントロピー(32bitの場合)

はじめに 実行ファイルを位置独立実行形式(PIE: Position Independent Code)にすると、実行ファイルは位置独立となり、任意のメモリアドレスにロードできるようになる。このため、PIEな実行ファイルをロードするアドレスをランダム化することによって、ROPな…

Python3でprint("\xff")が0xffを出力しない件について

はじめに 何もわからなくて、キレそう。勢いにまかせて書いたので特にまとまっていない。 print("\xff")が0xffを出力しない なにはともあれこれを見てくれ。 $ python --version Python 2.7.16 $ python -c 'print("\xff")' | xxd 00000000: ff0a ... これは…

DockerでLaravelの開発環境を整える

はじめに Laravelの開発環境を作らないといけなくなったんですけど、環境構築でPC内を汚したくない… ということで、Dockerの勉強がてら、Laravelの環境構築をDockerでやってみました。 成果物はこちらです。 変更履歴 2020/4/24 PHP7.2はアクティブサポート…

NetBSDのNVMMを使ってみる

NetBSD 9.0からはNVMMというハイパバイザーを利用できるようになった1.今のところ,NVMMはIntel VT-xやAMD-Vなどのハードウェア仮想化支援機能がある環境で動作するらしい.LinuxでいうKVM的な立ち位置だと思う. NVMMの有効化 デフォルトでは有効化されて…

multiprocessingとthreadingライブラリのベンチマーク

Pythonにはマルチプロセスを実現するためのmultiprocessingライブラリ,マルチスレッドを実現するためのthreadingライブラリがある.今回はこれらのライブラリを使って,CPU boundな処理とI/O boundな処理を実行した際の処理時間を計測した. 計測プログラム…

セキュリティ・キャンプ2016全国大会 参加記

8月9日から13日の5日間に掛けて千葉で行われたセキュリティ・キャンプ2016全国大会に参加したよという話。参加記を書くには遅すぎる気もするけど、某所からの要望もあり書くことにしました。とはいうものの文章を書くのは苦手なので、5日間の出来事を駆け足…