メモ

BacklogからSlackへの更新通知を超簡単に実現する

  • POSTS
はじめに タイトル通りBacklogの更新を超簡単にSlackに通知する方法です。 「Backlog Slack」で検索すると、サーバー使ったりIFTTTやlambdaやzapierなどの記事が出てきますが、 サーバー使うほどでもないし、lambdaで作るのもだるいし、IFTTTやzapierとかに大事な情報を垂れ流すリスクもあるので、一番シンプルな方法を考えました。 多分全部で5分ぐらいでできるんじゃないかな。 実際のキャプチャ スマホでみるとこんな感じ。 手順 手順は簡単3ステップ。 1. Backlogのビューアーアカウントを作成してプロジェクトに追加 BacklogにSlack側からBacklogの情報を見るためのビューアーアカウントを作成します。 Baclogの権限にはビューアー以外にゲストビューアーもありますが、 ゲストビューアーではチケットの詳細な変更内容が見れないため、それでも良ければそちらを選択してください。 https://backlog.com/ja/getting-started/others/others5.html2. BacklogのRSSのURLをコピー 更新情報を取りたいプロジェクトを開き、URLをコピーします。 3. Slackにfeedを登録 SlackにはデフォルトでRSSを読む機能があるので、それを有効活用します。 更新情報を流したいチャンネルで /feed subscribe コピーしたURLを入力します。 ただし、これだとBacklogのアカウント情報がないので、URL内にログイン情報を入力します。 /feed subscribe https://ビューアーアカウント:パスワード@自分のスペース名.backlog.com/rss/プロジェクト名 入力例: /feed subscribe https://hoge:password@pepepe.backlog.com/rss/test ちなみにfeedのリスト確認は/feed list。 削除は /feed remove [IDナンバー]でできます。 参考 注意 feedのところにユーザ名とパスワードがそのまま書かれているので、 Slackで/feed listを打つと他人もアカウントの情報が見えてしまいます。 なので、この設定をするときは鍵付きのチャンネルにするか、信頼できる人だけのメンバーで同意を取ってやりましょう。

ログインシェルで遊ぶ

  • POSTS
FTPの設定をしたときに、 /usr/sbin/nologinについて調べたら色々面白かったので簡単に実験してみた。 /usr/sbin/nologinは/etc/nologin.txtを読み込む らしい。読み込んで表示した後はexitされる。 しかし/etc/nologin.txtなどというファイルは存在しなかった。 なので試しに、自分でファイルを作成してみた。 そしてログインしてみる。 期待した通りのことができた。 これでサーバに不正にログインしようとした人を「ドキッ!」とさせることができる。 ログインシェルを別のコマンドに変える ログインシェルは/etc/passwdに書かれたものが実行される特性を利用して、 別のコマンドを起動してみた。 ログインシェルを /usr/bin/wに変更(ログインユーザをみるコマンド)。 /usr/bin/wが実行され、ログインユーザが表示された。 ログインシェルを空白にする 本来は記載されているログインシェルを空白にしてみた。 するとshが起動した。これは意外。 なのでログインシェルを起動させたくない場合は、/usr/sbin/nologinか/usr/bin/falseをちゃんと明記した方が良いということがわかった。 感想 ログインシェル面白い。 自分でコンパイルした実行ファイルなどを指定したらもっと面白いことができそう。

stringsでなぜprintfが見えるのか

  • POSTS
Linuxへの理解を深めるため、最近CTFの問題を解いています。 CTFの回答を見ていると実行ファイル(バイナリ)に対してstringsコマンドを実行して、その中にpritnfがあるから書式文字列攻撃を試して・・・と書いてありました。 全く意味がわからなかったので、調べたことのメモになります。 そもそもstringsとは Linuxのコマンド 。 指定したファイル中の表示可能な文字列を表示します。 バイナリファイルやデータファイルの内容を判断するために利用します。 strings実行例 実行するとHello world!と表示されるファイルを用意します。 $ ./main Hello world! この実行ファイルをstirngsで見てみます。 ※stringsはデフォルトではファイルの先頭しか見ないので、オプションの-をつけることでファイル全体から文字を検索します。 $ strings - main __PAGEZERO __TEXT __text __TEXT __stubs __TEXT __stub_helper __TEXT __cstring __TEXT __unwind_info __TEXT __DATA __nl_symbol_ptr __DATA __la_symbol_ptr __DATA __LINKEDIT /usr/lib/dyld /usr/lib/libSystem.B.dylib Hello world! @dyld_stub_binder @_printf _mh_execute_header !main __mh_execute_header _main _printf dyld_stub_binder stringsは実行ファイル中に存在する文字だけを抽出してくれるのがメリットです。 ※lessやcatで実行ファイルを見てもノイズが多くて見にくい 実行ファイル(バイナリ)って変数名とか見れないんじゃないの? 私の認識では高級言語のソースコードをコンパイルしたら変数名や関数は機械語に変換されるため、stringsコマンドでバイナリを見てももちろんソースコードは出てこないし、関数名・変数も機械の都合の良い名前に変換されていると思っていました。 なので例えばint hoge=1111なんてコードを書いても、コンパイル後はintはアセンブリ言語のMOVかなにかに変換されて、変数名hogeも別の何かに変換されて跡形もなくなると思っていました。 なのでstringsコマンドで実行ファイルを覗いても、ソースコードの関数は見えないはず(=printfは出てこない)では?と思い混乱しました。 実際にコンパイルしてみた やってみないとわからないので、 試しに以下のコードを書いてコンパイルしてみました。 C言語でテスト /* test.c */ #include <stdio.h>int test(){ int hensu = 1111; printf("変数の中身は%dです\n",hensu); return 0; } int main(){ printf("Hello world!

【まとめ】Windowsを無料で利用する方法

  • POSTS
はじめに Microsoftが検証用に配布しているWindowsOSをまとめました。 Windows クライアントOS Windows評価版かmodern.IEを使う方法があります。 Windows評価版 提供方法がISOに限られる。 90日間利用可能。 90日を過ぎると背景が黒色になり1時間ごとにPCがシャットダウンします。 提供されているOS Windows 10 Enterprise Windows 8.1 Enterprise Windows 8 Enterprise 提供種類 ISO - Enterprise ISO - LTSB ※LTSB(Long Term Service Branch):機能更新を行わず、セキュリティ更新プログラム・修正プログラムのみを提供するモデル modern.IE OSやIEのバージョンごとのウェブサイトの表示検証が目的で配布されています。 90日間利用可能。 様々な仮想環境に対応しています。 有効期限は仮想環境の初回起動時からカウントするので、起動前のイメージを残しておけば何度でも使えます。 またISOとは違いインストール後のイメージを提供しているのでダウンロードしてから即起動できるのがメリット。 ###提供されているOS IE8 on Win7 (x86) IE9 on Win7 (x86) IE10 on Win7 (x86) IE11 on Win7 (x86) IE11 on Win81 (x86) Microsoft Edge on Win10 (x64) Stable Microsoft Edge on Win10 (x64) Preview 提供環境 VirtualBox Vagrant HyperV (Windows) VMware (Windows, Mac) Parallels (Mac) 番外編 期間延長 できるかわかりませんが、有効期間を長くする方法があるようです。

GWなのでエンジニア力をパンプアップする

  • POSTS
せっかくのゴールデンウィークなので前々からやりたいと思っていたことをやる。 自分用メモ。 やりたいことリスト タイピングスキル向上 タイピングが早くなれば仕事・趣味のアウトプットが早くなる。 いつまでもタイピングが遅いとそれだけで効率が悪いので早いうちにタイピングスキルを習得する。 今回は 数字・記号のブラインドタッチ化 一部ローマ字の癖入力の修正 をする。 Vim合宿 いつまで方向キーで移動してんの?っていつも自分に言いたくなる。 1.と同じでできた方が桁違いにアウトプットが早くなるのはわかってるけど、なかなか覚える機会がなかった。 テキストエディタとして呼吸のごとく無意識に使えるレベルが目標。 Dockerと友達になる Docker?すごいよね。 軽さ・手軽さ ・汎用さ どれも隙がないよね。 やりたいことを早く実現して、ボトルネックをなくしたい。 HyperVも友達になる Docker使うならHyperVは有効にしないといけない。 ついでにVirtualboxからHyperVに引っ越しして使えるようになっておく。 Githubに恥ずかしいコードを上げる 過去に書いたコードを3つほどあげる。 正直プログラマではないので昔書いた日記ぐらい恥ずかしい。 Chromeの拡張機能を1個つくる GW中の成果物として1つ作る。 今回はBacklog関係の拡張機能をつくる。 Vulsをためす 脆弱性検知ツール。 面白そうなのでためす。