第48回 「私の提案ハッカソン」


提案…
それは君が見た光
僕が見た希望

九州を襲った記録的豪雨。
将軍様の無慈悲な刈り上げ。
彗星のごとく現れたYoutuber。

今年の夏は何か波乱が起こる予感がする中、開催された勉強会であります。

さて、今回は、社内で急速に尻すぼみ今も行われてる提案制度で挙げられた案の中から、各自これぞと思った案をハッカソン形式で作り上げていきましょうという企画を行いました。
提案された案って往々にして、どのような結果になったかが見えてこなくなり、そのうちに提案する人間がいなくなり何となく終わってしまうことが多いです。
その為、今回はこのままでは日の目を見ることなのくなる提案にスポットを当ててみることにしました。

ハッカソンとしてみましたが、まぁ、短時間でそこまでの成果物が出せるわけは無いので、グループワークにして、具体的な要件程度に落とし込むってところまで行いました。
アイデアソンって感じでしょうかね。

各チーム色々な案を出していただけました。
なかなか面白い視点でアイデアを出していただけたのでは無いかなと思っています。

ワタクシは司会ではありましたが、事前に作成してきた企画を出してみました。
それはiBeaconを使った企画なのですが、軽くiBeaconについて説明をして、出来ればデモプログラムまでは持っていきたいなと思っていましたが、全くプログラムが上手くいかなくて断念…orz
iBeaconは2〜3年くらい前は盛り上がっていた印象がありますが、いわゆるIoT時代となりセンサー等が主流となり、なかなか名前を聞くことが少なくなってしまいましたが、根幹のBluetooth Low Energy(BLE)は、今後も色々と活躍の場がありそうなものなので、これを機に何か面白い提案が出来ればなと思っております。

久々のグループワークではありましたが、なかなか楽しく進められたのでは無いかなと思っていますので、今後もこういったものを定期的に続けていけたらなと思っております。

提案…
それは、幸せの青い雲。

第45回 「ぼくのかんがえたさいきょうのかいはつかんきょう」


桜も散りゆき、徐々に本格的な春を感じますね。
お花見やりましたか?前歯折りましたか?

さて、第45回目の勉強会は「ぼくのかんがえたさいきょうのかいはつかんきょう」と題して、主に開発業務で使うであろうツールを紹介していき、Git、Markdownをちょっと掘り下げて紹介してみました。
周りではSVNを使っている方が多いのですが、ワタクシは主にGitばかりを使っていて、GithubなどのGitホスティングサービスに勉強会のソース管理等でかなりお世話になっていますので、社内でのGit普及を目指していこうかなと。
んで、Github等を使っているとMarkdownを扱う機会も多くなると思われるのでこの機会に紹介してみました。
Markdown自体を覚えると非常にメモの表現力も増しますし、仕様書としても使えるのでは無いかなとも考えています。まぁ、業務ではExcel方眼紙文化ですけどね。
Markdown => Excelっていうのが出来れば便利なんですけど(笑)

さてさてツールの紹介ですが、皆さんエディタって何使ってますか?
ワタクシ、プライベートではSublime TextからAtomに移行して、Atomをメインで使っているのですが、若干重さが気になっているので、VisualStudio Codeに変更しようかしらなんて考えています。
業務ではWindows環境ってこともあり、サクラエディタ使ってます。
サクラエディタってF10押すとSQLPlusでSQLが実行できるという謎の機能があるんですが、これがけっこう病みつきになるんですよw
最近のエディタは統合開発環境といっても良いくらいに機能が充実していて、プラグインを入れれば、それだけで完結してしまうくらいです。

技術的な話をすると、AtomやVSC等はElectronというWeb技術でクロスプラットフォームのデスクトップアプリが作成出来るエンジンで出来ています。
これはChromeのベースとなっているChromiumから出来ているんですが、最近のデスクトップアプリはこれで作られているのが多い印象です。
近いうちに勉強会で取り上げてみても面白いかもしれません。

ここで、ワタクシのおすすめツールを紹介。
知っている人は知っているかもしれませんがWindowsには標準でsnipping toolなるものが存在しています。ちょうどMacでよく使っていたSkitchっていう画面キャプチャツールがあるんですが、つい最近Windows版が廃止されちゃったみたいで、代替を探していたのですが、なんと標準にこんなツールが搭載されていようとは…。
領域選択出来るので、それまではprintscreenボタン押して全体を選択して、ペイントやExcelなんかに貼り付けて、トリムする。場合によってはトリムしたのをピクチャ保存するみたいな、とんでもない非効率なことをしていました。
んで、このツールの存在を知ったら、あの作業は何だったんだくらいに効率的に画面キャプチャ出来てます。
まぁ、商用ツール等には叶いませんが、業務で使うPCにはツールをなかなか入れられないって所も多いかと思いますが、Windows標準なんでこの辺は問題ありません。
ファイル名を指定して実行からsnipping toolを検索するもよし、windowsフォルダ->system32->snippingtool.exeでもよしです。
是非、皆さん使ってみてください。

ちょっと、デモがグダグダしてしまい、皆さんのこだわりツールを聞く機会が少なくなってしまいましたが…そもそも、ツールにこだわりが無いって方もちょこちょこ居たりしたので、かえって良かったのかもしれませんが。

これを機会にみなさんも色々なツールを使ってみて、自分に合うツールを見つけて、業務効率化をしてみてはいかがでしょうか?

では、おやすみなさいませ。

第44回 「TBK ハッカーズマニュアル #3」


春の訪れも聞こえ始めた今日この頃、皆様いかがお過ごしでしょうか?

まだ3月だと言うのにセキュリティ界隈では大口な話題がポンポンと出ていますね。
2月にはWordPressの過去最大級の脆弱性があり、150万のサイトに被害が出たとの報道もありました。
WordPressの脆弱性対策について

そして、最近ではJavaのWebフレームワークであるStruts2に重大な脆弱性が発覚し、都税納付サイト等が被害を受けているようです。
Apache Struts2 の脆弱性対策について(CVE-2017-5638)(S2-045)

さてさて、前置きが長くなりましたが、今回のお勉強会は久々のTBKハッカーズマニュアルシリーズ
ま、シリーズと名乗ってますが、イマイチ定着している感が無いので、頑張らないといけません。
でもね、セキュリティ系のサンプルやデモって環境作るのが、とっても難しいんですよ!
影響を限定的にしつつ、さもありなんな環境を作るのって!!

と、くだらない愚痴をこぼしてしまいましたが、今回のテーマは
「Webアプリケーションデバッグ」です。

アプリケーションを作る上でデバッギングは最重要な問題です。
Microsoft系ならVisual Studio、JavaならEclipseなど強力な統合開発環境があるのでデバッギングってやりやすいんですけど、Webアプリケーション、特にフロントサイドのJavaScriptのデバッギングってチョット前までは結構難しくて、functionの中にalertなんかを書いて変数のデバッグをしていた記憶があります。でも最近では、ブラウザの開発者ツールが充実していますので、コンソールに出力してって感じになって、いちいち画面に出力なんかはしないですよね。
業務でもブラウザの開発者ツールを使うのですが、同僚の使い方なんかを見ていると、開発者ツールをうまく使えていなかったり、そもそも存在すら知らなかったり等も見受けられたので、開発者ツールの使い方を紹介してみました。
各社ブラウザの開発者ツールですが、正直私も全部を使い切れていません。それくらい機能が豊富で、簡単なフロントサイドの開発はほとんどこれで賄えてしまうのでは無いでしょうか。
NodeJSの出現以降、JS界隈って大きく変わった印象ですね。
AJAXでJavaScriptが隆盛になって、NodeJSの出現でパッケージ管理等の仕組みが整ったことで、各フレームワークが乱立している感じです。
もう、ある意味JS界隈はカオスです(笑)
各社ブラウザがECMAScript6に完全対応してきたら、状況が落ち着いてくるのかな…なんて思ってはいますがどうでしょ。
各社ブラウザのES6対応状況
※ ちなみにECMAScriptはJavaScriptの標準のことで、狭義ではJavaScriptはMozilla系のスクリプト言語のコトです。ただし、JavaScriptという呼び名が一般化していますので、JavaScriptといえばECMAScriptを含んだ幅広い意味で使われる事が多いですね。

で、ここまで持ち上げたブラウザの開発者ツールですが、あくまでもブラウザ内部でのデバッグなのでブラウザ – サーバ間のデバッグには弱いです。
例えばFORMで入力した内容を書き換えたいやCookieを書き換えたいなどの欲求には対処出来ません。
まぁ、アドオンや機能拡張を使えばそれなりのことが出来たりしますが…

そこで必要なのがWebプロキシツールです。
今回の勉強会紹介したのは、FiddlerOWASP ZAPBurp Suiteの3つです。
これらはWebアプリケーションの脆弱性診断にも用いられるツールで、HTTPセッション情報が一覧で見れて、リクエストの詳細、レスポンスの詳細が見えて、一時的に通信を遮断できて、パラメータを書き換えられたりします。
中には、自動診断も出来るものもあります。
機能がありすぎて細かくは説明できませんでしたが、デモを通じて、色々と操作していっていただければ良いのかなと思う次第です。
ちなみに、FiddlerとBurp Suiteはメニュー等は英語表記でOWASP ZAPは日本語化対応されています。

続いては、過去のハッカーズマニュアルでも利用した自作脆弱性サイトへの攻撃デモを行いました。
今回はサイトをバージョンアップさせて、OSコマンドインジェクションやディレクトリトラバーサル等を追加してみました。
デモではFiddlerを使って、リクエストの書き換えなんかを行ってみながら、各種脆弱性を突いた攻撃を見てみましたが、ほーってくらいは思っていただけたのではないかと思っています。
デモ用サイトはGithubにあげていますので、実際に手を動かしてみて理解していただければ良いのかなと思います。
脆弱性サイト
脆弱性サイトは今回Dockerを使ってみたりしたため、Dockerのネットワーク周りでかなり悪戦苦闘しました。
直前に、脆弱性があるのがわかりきっているサイトのバグ修正とか意味のわからん作業をしたりもしましたが、勉強にはもってこいだと思いますので、皆さん是非ご利用してみてください。

何だか愚痴が多くなってしまった内容になってしまいましたが…
では、このへんで失礼致します。