YAPC::Fukuokaで「新時代のテストフレームワークTest2」という話をしました

speakerdeck.com トークの内容はTest2の導入から便利情報を紹介したりしました。少しでもTest2使う人が増えるといいですね。 スライド中にも触れていますが、基本的にはTest2に移行するにあたってはTest2::Plugin::UTF8を使うようにすれば大丈夫かなと思いま…

株式会社はてなに入社しました

株式会社はてなに入社しました株式会社はてなに入社しました - hitode909の日記

年賀状CTF 2017 writeup

今年もid:nanuyokakinuさんによる年賀状CTFが開催されていたので参加した. reversing問題が全部で3問.すべて解くと最後のフラグにAmazonのギフト券が書いてあり,お年玉が貰える.今年はなんと0x1337円.ありがとうございました :) nanuyokakinu.hatenablo…

まずはCTFの過去問を解く

CTF

この記事は,CTF Advent Calendar 2016の1日目です. www.adventar.org CTFプレイヤーたるもの,日々の鍛錬は欠かせません. 過去問を解いてこそ,競技中に真の実力を発揮することができるのです. ということで,bata_24さんが公開しているpwn challenges l…

高速にリストからハッシュにする

いまいちピンとくる言い方が分からないけれど,つまりはこういうこと. [ { id => 1, value => 'foo', }, { id => 2, value => 'bar', }, ] このようなデータ構造があったときに,以下のようにidをkeyとしてハッシュにしたい. { 1 => { id => 1, value => '…

Tokyo Westerns / MMA CTF 2nd 2016: greeting, Interpreter, diary, Candy Store, shadow

greeting Host : pwn2.chal.ctf.westerns.tokyo Port : 16317 greeting Note: DoS攻撃に対する対策の為,出力が131072文字に制限されています. main関数のみのシンプルなバイナリ.FSBがあるが,その後すぐにreturnするため1度しか実行できないように見える…

Teaser CONFidence DS CTF 2016 Go Sandbox 1, 2 - Go's unsafe is unsafe!

Go Sandbox (Pwning, 150) We found a sandbox written in Go. It looks pretty solid, but there must be a bug somewhere. All you need to do for us is to execute ./get_flag IP: gobox.hackable.software:1337 Download Golangのソースコードを実行す…

SECCON 2015 Intercollege 優勝しました

チームdodododoで参加して、29109ptで優勝しました。 チーム構成はakiym, xrekkusu, lrks, hiromuの4人。分担は、攻擊班akiymとlrks、防御班xrekkusuとhiromu。 今回のSECCON Intercollegeは学生限定ということで、通常の決勝とは違う、Attack & Defenseルー…

オレオレCTFツール akitools

CTF Advent Calendar 2015 - Adventar 16日目 CTFをやると副産物として一枚岩のスクリプトができたりします。いくつか便利ツールを公開しているので、ここで紹介します。 個人的には地味に便利と思っているのですが、万人受けするようなものではなさそうです…

PoliCTF John's shuffle: system("sh") technique

This is my short writeup for John's shuffle. John is completely drunk and unable to protect his poor stack.. Fortunately he can still count on his terrific shuffling skills. Connect to shuffle.polictf.it:80 This is pwnable challenge worth …

Perl5におけるコンテキストの扱いによる脆弱性について

The Perl Jam - Exploiting a 20 Year-old Vulnerability よりPerlを普段から書いている人にとっては常識ではあるが、そうではない人のために書いておく。 リストと配列 Perlにおける「リスト」とは何かというのを確認しておく。まず、Perlにはコンテキスト…

No cON Name CTF Quals 2014 writeup

CTF

チームdodododoで参加。最近はよく自分(@akiym)とれっくす(@xrekkusu)の2人で参加している。 結果は7位。finalsの参加権が貰えるらしいが、会場はスペインでおそらく交通費はでないので破棄ということに。問題は開始時にすべてオープンされる形になっており…

CTF各位3

CTF

loginpage1 (web 10)running at ctf.katsudon.org:5002 #!/usr/bin/env perl use Mojolicious::Lite; app->secrets([$ENV{FLAG}]); get '/' => sub { my $self = shift; return $self->render('index', user => $self->session->{user}, flag => $ENV{FLAG},…

SECCON 2014 オンライン予選(日本語) writeup

CTF

SECCON 2014 オンライン予選(日本語)にdodododoとして参加した。2302点で5位。とりあえず全国大会の出場権は獲得できた(上位8位まで)。チームメンバーによるwriteup: http://xrekkusu.hatenablog.jp/entry/2014/07/19/220129 以下、自分が解いた問題のwriteu…

CTF各位2

CTF

blacklist (web 10)running at ctf.katsudon.org:5001 use Mojolicious::Lite; use DBI; # enjoy~ my $BLACKLIST_CHAR = qr/['"`=]/; my $BLACKLIST_WORD = qr/select|insert|update|from|where|order|union|information_schema/; my $dbh = DBI->connect('d…

2014年だけどファミコンのゲームを作りませんか? #1

ゲームを作ろうと思い立ったはいいものの、何から始めればいいんだろう…。cocos2d-xでスマホゲームを作る?Unityで3Dバリバリのゲームを作る?いまいちパッとしませんね。そうです、なんだか複雑すぎるのです。 そんなあなたにピッタリなのがファミコンのゲ…

CTF各位1

CTF

10guess (crypto 10)running at ctf.katsudon.org:5555 package main import ( "bufio" cr "crypto/rand" "crypto/rsa" "fmt" "log" "math/big" "math/rand" "net" "strconv" ) var seed int64 = ????? func handleConnection(conn net.Conn) { log.Printf("…

BCTF writeup: web100, 200, 300

CTF

今週末のCTF - てっじーの丸出しを見て、BCTFというのがあるらしいのを知ったのでちょっとだけやってみた。Baiduがスポンサーらしい。しかし、登録から問題文まで全面中国語なのでGoogle翻訳で乗り切ることに。 問題自体は英語で、ほとんど中国語がなかった…

SECCON 2013 全国大会 writeup

CTF

3/1, 2に行われたSECCON 2013 全国大会にdodododoとして参加してきた。最終的なスコアは1261点で、順位はおそらく9位。やはりbinaryができる人がいないとつらいものがある :) ルール サーバが6つ用意されていて、塔にまつわる名前が付けられている。Korin、2…

PHDays IV CTF Quals - Escape from Minecraft writeup

CTF

CTFでMinecraftの問題が出題されるとは… マップを読み込むと、9つのボタンがあり、1から9までの数字が振られている。ある順番の通りに押すことで奥の開かないドアが開くみたいだ。 全景: Minecraftではおなじみのレッドストーン回路が見える。手前が入力側で…

hack you 2014 - Crypto writeup

CTF

Scoreboard :: hack you 2014 個人戦で、47位。まだまだ精進が足りない :) Cryptoはすべて解けたので、writeupを残しておく。 Crypto 100: Easy one msg002.encをdecryptする問題。 与えられているmsg001とmsg001.encをXORするとkeyが出てくる。あとはそのke…

SECCON 2013 北海道大会 writeup

CTF

チームdodododoで参加してきました。メンバーは@akiym, @lmt_swallow, @goldcard, @ayako119の4人です。 僕は全く解けなかったのですが、@goldcardさんのおかげで優勝できました。ありがとうございます。チームメンバーによるwriteup SECCON2013 北海道大会…

対話型SkypeボットフレームワークUnazuChanのご紹介

対話型IRCボットフレームワークUnazuSanのご紹介 | おそらくはそれさえも平凡な日々 より プロジェクト立ち上げると色々やってくれる対話型のIRC botが欲しくなるのでAnySanとか使って適当にコピペで作るわけですが、それもタルくなってきたので、対話系のbo…

Amon2でconfigまわりをいいかんじにする

use Amon2::Config::Simple; sub load_config { my $class = shift; my $config = Amon2::Config::Simple->load($class); if ($class->debug_mode) { Internals::SvREADONLY %$config, 1; } return $config; } こうしておくことでkeyをtypoしたり、設定し忘…

golangはじめました

最近はgolangがアツいらしい。ちょうどRebuild: 15: After Google Reader, DIY Blogging, The Go language (typester)でtypesterさんがgolangについて触れていたのを聞いて、試しに触っていたがなかなか便利であることがわかった。 golangの印象としては go …

SQL Injectionを学ぶためにSQLiPuzzleというサービスを作ってみた

SQLiPuzzleSQL Injectionについての知識が足りなかったので、ちょろっと作ってみた。まだすべての問題を用意できていないので未完成。 難易度としては初級レベルで、知っている人ならすぐに解ける。TODO: SQLインジェクションゴルフ - なんと3文字で認証回避…

Skype に issue 番号に反応する bot がいると捗る

"IRC に issue 番号に反応する bot がいると捗る" らしいので - @soh335 memo より use strict; use warnings; use Skype::Any; use AnyEvent::HTTP; use JSON::XS; use Try::Tiny; use HTTP::Request::Common; my $owner; my $repos; my $github_user; my $…

sudoをしっかり読もう

あなたが初めてsudoコマンドを実行したときに出力されたメッセージを(読みました|覚えています)か? We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the pr…

perl-5.18のhash randomizationについて

perl-5.18.0がリリースされました。 perl v5.18.0 released! - Islands in the byte stream Perl 5.18.0 がリリースされています - tokuhirom's blog. 大きな変更点としてhash randomization(ハッシュのランダム化)が挙げられます。each(), keys(), values()…

特定のWi-Fiに接続したときにあることをしよう

335さんの記事(minilla を使って cocoa な xs module を書く - soh335 memo)を見て、手軽にCocoaなXS moduleが書けるようになったらしいことを知ったのでさらっと書いてみた。 akiym/Cocoa-NetworkChange · GitHub 自宅のWi-Fiに接続したらsyncしたいとか、…

tkbctf1 writeup #2

CTF

fairy (Challenge 9) 割と解いた人が少なかった問題でした。 We need to access a thin client to get trade secret of rival company. However the client needs to be unlocked at boot sequence. Can you unlock? This file may help you. 中身はtcpdump…

tkbctf1 writeup

CTF

tkbctf1にikachanとして参加してきました。こういったCTFに参加するのは初めてでしたが、とても楽しめました。 運営の皆様大変お疲れ様でした。 Good Old Days (Challenge 7) 個人的にツボでした。問題文はこちら。 [ADVANCED] I need the "Message" to cont…

LWP::UserAgent@6.05でX-Meta-Twitter:cardがヘッダに含まれているページがうまく取得できない

詳しくはlwp-download fails with HTTP::Message 6.06 · Issue #3 · libwww-perl/http-message · GitHubに書かれていますが、要約すると X-Meta-Twitter:cardのような:がヘッダに含まれているとIllegalであると判断されるようになってしまった use strict; u…

akictfのはなし

最近CTFというものを知って、結構面白いなーと思いながらksnctfをちょこちょこやっています。 先日、とある方に「セキュリティについてもっとよく知りたい、これから先ステップアップするにはどうすればいいか」と聞いたところ、問題を作るのがいいよと言わ…

Perlを半殺しにするGolf

メモリを食わせまくってPerlを半殺しにしたいと思ったので少し考えてみました。 条件 whileを使わない gotoを使わない あからさまな無限ループをさせないというのが条件です。 で、ひとつ考えたのがこんな感じです(29 bytes)。数秒で数GB級のメモリ空間を圧…

Shipped App::Tacochan 0.06!

Amon2::Liteで書き直しました。ついでに見た目も変えました。tacochanっぽい感じかなと思います。 基本的な使い方を書いたのでtacochanを使ったことがない人にもぜひ。

AnyEvent::SKKServを書いた

ついカッとなって。(AquaSKKの新しいバージョンが出たので)akiym/AnyEvent-SKKServ · GitHubもともとgoogle-ime-skkというものがあって、これはGoogle CGI APIを利用してSKKにGoogle日本語入力のエッセンスを加えるskkserv(辞書サーバ)。地味に便利で手放せ…

Perlの食えない事情 - 演算子編

Perlの食えない事情 より おっと、そうです、Perlには演算子が多すぎるのでした。せっかくの機会なので、Perlの演算子を紹介します。 ビーナス演算子: 0+, +0 数値として評価してくれます。意外とよく見かけますね。 なぜこの演算子を使う必要があるのかとい…

Shipped App::Tacochan 0.05!

[D] MacのSpotlightを使ってスカイプのチャットルームをサクサク切り替えられる方法 - Drift Diary XV の記事を見てこんなことができたのかと知り、tacochanもSkype URIをコピーするだけでメッセージ送信ができるようにしたかったのでサクっと書きました。 …

Minecraftのサーバを監視してjoinしているか調べるハック

いちいちMinecraftを立ち上げて調べるのは面倒なので、Skypeで通知してくれるスクリプトをてきとーに書きました。結構ゴリ押ししてる感があります :) Skypeの通知にはtacochanを使う 1分毎に監視 サーバが落ちてたら通知 joinしているプレイヤーの数を通知 u…

sshfsでマウントしたファイルがFinderで表示されない

Mac

sshfsでマウントしたけれどFinderで表示されなかったり、アプリケーションから開けないようなファイルがたまーにある。 日本語でファイル名を指定していて、さらに濁点、半濁点が含まれているとこのような現象が起こるみたい。 対処法 ファイル名をUTF-8-MAC…

Hokkaido.pm#8に来ています

ゲストとしてtypesterさんが来てくれているので、XSの話をリクエストしたところ実際にライブコーディングまで見せていただけたので非常に興奮しております。 ## XSにまつわる話 - 2010年から書き始めた - XS食わず嫌い期 - 2004-2010年くらいまで - 手を出す…

VirtualBoxでBluetoothを使う

Mac

環境: Mac OS X 10.8.2 Mountain LionDevices > USB Devices > Apple Inc. USB Bluetooth Host Controller から使えるようになっているように見えるが、エラーが発生してしまうのでBluetoothが有効にできない。 Mac側でBluetoothを無効にしてからじゃないと…

Webサービスのつくり方 - いかにして高校生が効率よく大量のおっぱい画像をダウンロードしたか

ゆーすけべーさんから献本していただきました。ありがとうございました。yusukebe++Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ (Software Design plus)作者: 和田裕介出版社/メーカー: 技術評論社発売日: 2012/11/20メディア: 単行本(…

正規表現のキャプチャ

正規表現のキャプチャの結果を取得したいときには、次のようなコードを書く: if (my @capture = '10/17' =~ m!([0-9]{2})/([0-9]{2})!) { # @capture = (10, 17) } $1や$2を使っても取得はできるが、キャプチャが増えたときに$1, $2, $3, $4, ...と増やして…

tacochanをCPANに上げた

App::Tacochan - Skype message delivery by HTTP - metacpan.org tacochanがCPANからインストールできるといいのに、という話を聞いたのでCPANに上げることにした。cpanm App::Tacochanでインストールできるようになっているはず。 そのままCPANに上げるの…

YAPC::Asia 2012で「Skype効率化」というトークをした話

Skype効率化 // Speaker Deck Skype::Anyというモジュールを書いたので、そのモジュールを使ってbotを書く例を紹介しました。実際にSkype::AnyはCPANにアップされているので、使うことができます。まだまだやりたいことがあるので、開発を続けたいと思ってま…

Cocoa::GuiTestというものを少しだけ書いた

akiym/Cocoa-GuiTest · GitHub use 5.016; use warnings FATAL => 'all'; use utf8; use Cocoa::GuiTest; use Time::HiRes qw/sleep/; my ($width, $height) = Cocoa::GuiTest::GetScreenRes(); my $hz = 10; my $omega = 2.0 * 3.14 * $hz; for my $x (0 ..…

メモリリークを見つける方法

use 5.016; use warnings FATAL => 'all'; use utf8; use AnyEvent; my $pid = shift or die "Usage: $0 pid\n"; my $cv = AE::cv; my $t; $t = AE::timer 0, 0.1, sub { warn `ps -o rss= -p $pid`; }; $cv->recv;

これぞ次世代の暗号?!絵文字だけですべてが表現できる「Emoji64」とは?

誰でも親しみやすく、そしてかわいらしい暗号…そんな暗号が今まであったでしょうか。それがEmoji64です。 Emoji64はUnicode 6.0で追加されたemojiを利用して秘密の暗号を作ることができます。必要なのは暗号のタネだけ。それさえ覚えていれば二人だけの秘密…