指定されたパケットをなんとか作成してサーバに対して投げると得点される, という簡単な競技です.競技のスコアボードには EasySaucer を流用していて, 上のような画面が出ます.(各パケットの種類ごとのレーダーチャートみたいな 感じになっています)
FreeBSDで動作を確認してあります.
様々な問題があるかもしれません.セキュリティ的な脆弱性などもあるかも しれません.(TCPでのサーバ動作や通信を行います)
自由に使って構いませんが,損害など出ても作者は責任はとれません. 各自の責任の下で利用してください.
EasyCTFと同様に,とにかくシンプルな作りなので, 自分でいろいろ改造したり,実験したり, 機能追加するためのベースとして使うといいでしょう.
FreeBSDで動作を確認してありますが,FreeBSDの場合はBPFを利用するので, chmod 666 /dev/bpf が必要です.
Linuxでは未検証ですが,たぶんそのままかもしくはちょっとの修正で動作するかと 思います.ただしRAWソケットを使うので,一般ユーザだとそのまま実行できません. スーパーユーザで実行するのが簡単ですがちょっと恐いですね…. (一般ユーザでRAWソケットを読み書きする方法無いもんかな)
サーバ側で,ncによるsaucerへの通信時にうまく動作しない場合があるようです
(make enable-XXXXXをしたときに,ncが終了せずrequest.plがブロックしてしまい
次のコマンドが発行されない).
入力がEOFになったときにncがshutdownしないためのようです.
この場合,以下のようにして回避できます.
-system("echo \'$cmd\' | nc localhost 12345"); +system("echo \'$cmd\' | nc -N localhost 12345");