WhiteHat Challenge 01 (2017/02/26) - Writeup
チーム「Harekaze」のメンバーとしてCTF「WhiteHat Challenge 01」に参加した.わずか1個ではあったものの初めてセキュリティの問題でフラグが取れたので,Writeupを書く.
[Mics 25] Mics001
準備
サーバに接続してフラグを取る問題.とりあえず問題文に示されたサーバに接続を試みた.
$ nc 103.237.98.32 3737 < Inject me if you can > -------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || input name to check pass, ex:linh, trang...:
cowsayとはなかなかに挑発的.どうやら名前となる文字列を入力すれば良いらしい.
情報処理技術者試験の選択肢の順序は人間が決定しているか?
背景と目的
定期試験や入学試験などの試験中,択一式の問題で解答に迷ったら,あなたはどうするだろうか.おそらく,答えがわからなくてもとりあえずどれか一つを選ぶのではないだろうか.一般的な方式の試験では,白紙のまま提出するよりもまぐれで当たる可能性を狙ってとりあえず何か選んでおくほうが合理的である.
それでは,まぐれ当たりを狙うべくどの選択肢を解答すべきであろうか.計算機によって,すべての問題に対して選択肢の順序が等確率で,しかも問題の間で独立に決定される場合は,どのように解答を決定しても,得点の期待値はランダムに決定した場合と変わらないだろう.一方で,選択肢の順序の決定にある傾向がある場合は,その傾向に合わせた解答の決定を行うことで得点の期待値を改善できると考えられる.例えば,「大学入試センター試験」の対策において,「迷ったら2番か3番だ」*1などの解答に迷った場合の「対策」が(時に冗談として)論じられることがある.これは,あらかじめ解答に迷った場合の行動を決めておくことで,正答できるか不確かな問題につまづいていたずらに時間を消費することを防ぐ意味のほか,「最初や最後の選択肢より中間の選択肢を正答として選びやすいのではないか」という,問題作成者の心理などに関する推測をも含んでいると考えられる.
同種の試験が繰り返し行われ,十分な量のデータが蓄積していれば,統計的手法によって選択肢の決定を人間が行っているかを推測できるだろう.この記事では,人間が「最初や最後の選択肢より中間の選択肢を正答として選びやすい」という仮定のもとで,「情報処理技術者試験」の択一式問題を対象に検定を行い,選択肢の決定に偏りがあるかを推測する.
*1:私が高校生だったころ,社会科の先生にこう教わった.
RDBMSごとのWITH句の実装の差異
WITH句は一時表を作成する句で,SQL99より規格に取り入れられた.しかしながら,各RDBMSのWITH句の実装はまちまちである.
次のSQL文を見てみよう.
WITH foo(a, b) AS ( SELECT 1, 2 UNION SELECT 3, 4 ) SELECT * FROM foo
このSQL文を実行すると,PostgreSQLとSQL Serverでは次のような結果を得る.(表示形式はRDBMSによって若干異なる.)
a | b ----+---- 1 | 2 3 | 4続きを読む
ConoHaとConcrete5で始めるPHP
今日PHPを初めて触った.きっかけは陳腐化の著しかったHPの改修.
従来のHPのコードはHTMLもCSSもすべてnanoだけで手打ちしており内容も非常にお粗末なものだった.*1また,サーバがRaspberry Pi Model B(初代)だった*2ので,Webフォントなどサイズの大きなデータのやり取りがかなり低速だった.
そこでサーバをConoHaに移して強化してついでに陳腐化したデザインも一新してしまおうと考えた.ConoHaではアプリケーションサーバのテンプレートとしてCMS「Concrete5」のイメージが選択できると知って導入してみた.20世紀的デザインの弊HPがナウくなって楽しい.しばらく工事中の状態が続くと思うがそのうち中身も作る.
続きを読むCUI Twitterクライアント"Tw"のご紹介
この記事は UEC Advent Calendar2015 の8日目の記事です
Twitterクライアント"Tw"
普段からTwitterを利用している方々はお気づきのように、Twitterへのアクセスには実に多様なクライアントが利用されています。しかしながら、その多くはGUIクライアントで、操作の自動化などに向きません。
そこで今回は、shokai氏によるコマンドラインで動かせるTwitterクライアント"Tw"をご紹介します。 Tw - Twitter client on Ruby.