A painter and a black cat: Redmineにブログパーツを貼るには
Redmineプラグインを作った。
Redmineにブログパーツを貼るには、このプラグインの機能を使えば可能。
可能というか、HTMLとJavaScriptで出来ることなら、なんでもできてしまう。
さんがほぼ10年前に追加
Redmineプラグインを作った。
Redmineにブログパーツを貼るには、このプラグインの機能を使えば可能。
可能というか、HTMLとJavaScriptで出来ることなら、なんでもできてしまう。
さんがほぼ10年前に追加
以下の記事に感動した。
Instagramでオシャレを定量化できると信じて疑わない彼氏の話
http://kuma-no-kara-age.hatenablog.com/entry/2016/02/01/003051
なるほど、、、一理ある。この方法でオシャレが定量化できそうだ。
さっそくコマンドを作ってみる。
getOshareFromInstagram.sh
#!/bin/bash
# オシャレ定量化コマンド
while [ "$1" != "" ]
do
# instagramからオシャレ指数を取得
#POINT=`curl -s curl -s https://www.instagram.com/explore/tags/${1}/|tr ',E' '\n'|grep count|grep entry_data|awk -F':' '{print $NF}'`
# 2017.11.05 動かないので直した
POINT=`curl -s https://www.instagram.com/explore/tags/${1}/|tr ',E' '\n'|grep count\" |grep -v likes|grep -v comments|cut -d' ' -f3`
# 表示位置調整のための小細工
if [ `echo "${1}"|wc -m` -le 4 ]
then
WORD="${1} "
else
WORD="${1}"
fi
printf "%.15s\t%'10d oshare\n" "${WORD}" "${POINT}"
shift
done
exit 0
思いつくままに、適当に食べ物を並べてみる。
$ ./getOshareFromInstagram.sh からあげ ハンバーグ パスタ パフェ ラーメン 蟹 パン ケーキ 沢庵
からあげ 76,194 oshare
ハンバーグ 423,013 oshare
蟹 97,937 oshare
パン 1,001,182 oshare
ケーキ 1,168,795 oshare
沢庵 2,585 oshare
パンやケーキのオシャレ指数が、かなり高い事がわかる。
ケーキは、沢庵と比べ452倍オシャレであることがわかる。
英名での評価も考えられるが、今回は日本固有のオシャレ感覚を考慮し、和名だけで調査した。
$ ./getOshareFromInstagram.sh 水 牛乳 青汁 ビール 焼酎 日本酒 カクテル ワイン
水 155,891 oshare
牛乳 71,144 oshare
青汁 25,258 oshare
ビール 989,409 oshare
焼酎 93,936 oshare
日本酒 564,994 oshare
カクテル 91,766 oshare
ワイン 397,795 oshare
とりあえずビールを飲んでおけば、オシャレであることに疑いの余地はない。
日本酒も意外にオシャレである。
ちょっとググッて見つけたブランドを並べてみる。
日本語と英字の両方が存在する場合は、その両方を記載している。
$ ./getOshareFromInstagram.sh ユニクロ UNIQLO GAP しまむら ZARA GU 無印良品 MUJI
ユニクロ 495,885 oshare
UNIQLO 1,207,245 oshare
GAP 1,528,165 oshare
しまむら 529,127 oshare
ZARA 15,303,593 oshare
GU 656,049 oshare
無印良品 443,495 oshare
MUJI 468,137 oshare
ZARAの圧勝である。
$ ./getOshareFromInstagram.sh ルフィ ゾロ ナミ ウソップ サンジ チョッパー ロビン フランキー ブルック
ルフィ 26,365 oshare
ゾロ 13,699 oshare
ナミ 7,082 oshare
ウソップ 4,670 oshare
サンジ 11,418 oshare
チョッパー 33,180 oshare
ロビン 10,586 oshare
フランキー 5,865 oshare
ブルック 3,355 oshare
ゾロとサンジがいい勝負であるが、なんとチョッパーが一番オシャレ指数が高い。
これは、同時にカワイイ指数も含まれていると推察される。
山手線駅名の駅名で検索してみる。
$ ./getOshareFromInstagram.sh 東京 有楽町 新橋 浜松町 田町 品川 大崎 五反田 目黒 恵比寿 渋谷 原宿 代々木 新宿 新大久保 高田馬場 目白 池袋 大塚 巣鴨 駒込 田端 西日暮里 日暮里 鶯谷 上野 御徒町 秋葉原 神田
東京 2,225,774 oshare
有楽町 72,929 oshare
新橋 82,467 oshare
浜松町 17,881 oshare
田町 13,631 oshare
品川 90,886 oshare
大崎 10,113 oshare
五反田 40,071 oshare
目黒 79,041 oshare
恵比寿 382,042 oshare
渋谷 1,177,357 oshare
原宿 1,317,258 oshare
代々木 82,567 oshare
新宿 941,782 oshare
新大久保 249,498 oshare
高田馬場 69,581 oshare
目白 19,243 oshare
池袋 492,544 oshare
大塚 12,218 oshare
巣鴨 20,336 oshare
駒込 11,560 oshare
田端 3,841 oshare
西日暮里 7,112 oshare
日暮里 21,986 oshare
鶯谷 4,889 oshare
上野 207,968 oshare
御徒町 19,407 oshare
秋葉原 107,962 oshare
神田 43,982 oshare
東京は、地名以外でもヒットしていると思われるので比較対象から除外する。
すると最もオシャレなのは原宿、次いで、渋谷となり、オシャレ指数の精度の高さを確認できる。
ワーストは田端であるが、原宿の1/342のオシャレ指数となり、東京都心でも格差が大きい。
以上の結果から、かなり高い精度でオシャレ指数を測定できる事が確認できた。
ただし、ONE PIECEでの測定結果にみられるように、純粋なオシャレ指数ではなく「オシャレ指数+カワイイ指数」となっている疑いが残る。
カワイイ指数とオシャレ指数の分離については、今後の課題としたい。
インスタツール - インスタグラムのハッシュタグの人気度を一括検索!
https://insta-tool.nu/
ここで調べられるようになりました~。
12K
https://index.12k.co/index/
たぶん、これはTwitterバージョン。栄枯盛衰がわかるわ~。
さんがほぼ10年前に追加
Halvar Flake&PPPとローレイヤーな話をしように参加させて頂きました。
当日は、以下の錚々たる顔ぶれで御座いました。
お話面白かったです。すごい高度でございました。恐るべしローレイヤーの世界。
(ただ英語力がなくてHalver氏のプレゼンで死んだ。英語力が必要だ。。)
ぼっちで突入した私を気遣って対応して頂いたkanaさん、隣の席で私のお相手して頂いたお二方、ありがとうございました。
inaz2さんは、当日のプレゼンスライドを公開されておりました。
ももいろテクノロジー - 「Self Introduction & The Story that I Tried to Make Sayonara ROP Chain in Linux」というタイトルで発表した
http://inaz2.hatenablog.com/entry/2016/04/28/012136

さんがほぼ10年前に追加
何気に手元にあるCentOSには標準でインストールされていて、そのコマンドの存在を知っている割には1度も使ったことが無いコマンド達。
調査環境
$ cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)
コマンドの仕様を解りやすく説明するために、こういうファイルを用意してみた。
$ cat test.txt
abcdefg
ABCDEFG
1234567
行をランダムに入れ替える。
$ shuf test.txt
ABCDEFG
1234567
abcdefg
使わない。
文字の並びが逆になる。
$ rev test.txt
gfedcba
GFEDCBA
7654321
使わない。
行単位で逆に出力する。
$ tac test.txt
1234567
ABCDEFG
abcdefg
ログファイル見る時にもしかして使う・・・?
(いや、でもtail使うし。。)
ターミナル出力に色をつける事ができる!
細かい仕様はこのあたりを参照すると良い。
# 文字色を変える
$ tput setaf [0-255]
# 背景を変える
$ tput setab [0-255]
# 太字にする
$ tput bold
# 下線を引く
$ tput smul
# 文字と背景を反転
$ tput rev
# 全部リセット
$ tput sgr0
今までechoで代用してたけど、今後はこれを使おうと思ってる。
ちなみにPOSIXコマンドでもある。
みんなの使わないコマンドを教えて欲しい
決してディスっている訳ではない。むしろ全くの逆である。
シェル芸人としての嗜みである。
他にもあったら教えてほしいです。
さんがほぼ10年前に追加
さんがほぼ10年前に追加
CTFなんかで、ELFファイルを逆アセンブル・解析する時
そんなふうに考えていた時期が俺にもありました。
今日、新しい選択肢が1つ増えました。
オンラインサービスでの逆アセンブラがございました。
Retargetable Decompiler
https://retdec.com/decompilation/
とりあえずコイツを見てくれ

①…ELF形式だけじゃなく、PEやCOFFまで対応
②…対象のCPUアーキテクチャは、Intel x86, ARM, ARM+Thumb, MIPS, PIC32, PowerPC が対象っ・・・!
③…なんと、C言語かPythonのコードで逆コンパイルしてくれるッ!
④…後述のCall GraphがSVGかPNGかPDFで出力可能!!!1
もぅこの時点で結構高機能。
ちょっと解析してみますか。
解析対象として、SECCON2015オンライン予選の問題 Individual Elebin で出されたELFファイルを利用します。
Decompileボタンを押して、しばらく待つと結果が出てきます。
こんな感じ。

では、デコンパイル・逆アセンブル結果を参照してみます。
⑤の所をクリックすると

おぉ・・・左がアセンブラ、右がC言語ですね。鼻血出そう。
次はCall Graphを見てみる。
⑥の所をクリック

グレートですよ・・・こいつぁ・・・
各関数ごとにこれが参照できます。しかもSVGとかPNGでダウンロードできる!writeup書くのすごく捗りそう。
ちなみに⑦の所クリックで全部ダウンロードできる。

キマシタワー(n'∀')η゚・゚・
ちなみに、このデコンパイルしたC言語のソースコードをコンパイルして実行したら動かなかった。
ソースの中にメモリアドレスを直接代入している箇所があったから、当たり前っちゃー当たり前です。
世の中そんなに甘くない。でも、動作を把握するのには十分使えると思う。
オンラインでアップロードするタイプのサービスなので、提供している側に情報を渡すことになるよ。
他者に渡っても問題無いバイナリだけにしてね。
(VirusTotalで話題になったけど、うっかり秘密情報込みでアップロードしてしまうのに注意)
オープンソース化されたようだよ!!
アバストが自社のマシンコード逆コンパイラをオープンソース化
https://blog.avast.com/jp/avast-open-sources-its-machine-code-decompiler-0
さんがほぼ10年前に追加
シェル芸人のための本。
これから読みます。楽しみ。

すべてのUNIXで20年動くプログラムはどう書くべきか デプロイ・保守に苦しむ エンジニア達へ贈るシェルスクリプトレシピ集
http://richlab.org/coterie/pfb.html
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
http://www.slideshare.net/ShellShoccarJpn/posix-59780910
恐怖!シェルショッカー1号男
http://www.slideshare.net/tomoyukimatsura/1-php-con2014-40134119
さんがほぼ10年前に追加
面白いアクセスログがあったので、このサーバにきた怪しい通信を幾つか晒してみる。
HTTPステータスコード 404(Not Found) のアクセスログより抜粋。
ログは2015年5月~2016年3月までの範囲。
なんだか解らないが、これがめっちゃくる。
これが何なのかは調べても解らなかった。
アクセス元は、韓国、インド、リビア、ロシア、デンマーク等、様々。
しつこいぐらいくる。
そうか、そんなにmessage.phpが好きか。
アクセス元は、ほぼ、台湾と香港。
なんか中華圏から来てるね。
WordPressのログイン画面かな?
残念!WordPressは入れてないよ。というかPHPも入れてないよ。
アクセス元は、エストニア、スウェーデン、米国 等、様々。
なんか、こっちは欧米っぽいね。
これは、まぁ何かの業務システムの存在を確認したいんでしょうね。
asp動かないけどね。
アクセス元は、googlebotやyandex、msnなどの検索エンジンのクローラー。
アクセス元が検索エンジンになるのはなんでだろう?
アクセス元を隠蔽するために検索エンジンを利用してたりするのかしら?
これが一番ウケたwww
/gyoumu/gyoumu.asp ではない。
/gyoumu/gyoumu.aspと入力する。 だ!wwwwwwwwww
これアレですね。推測の域を出ませんけど
怪しいマニュアル(「脆弱なサーバを探す方法」みたいな?)がありそう。
怪しいマニュアルには、「例えば、/gyoumu/gyoumu.aspと入力する。」 とか書いてある。
怪しいツールがありそう。
怪しいツールの設定ファイルに「/gyoumu/gyoumu.aspと入力する。」と、間違ってコピペしちゃったw
かしらね。こういう事する人のドジっ娘属性が垣間見れて草。
アクセス元は、googlebotやyandex、msnなどの検索エンジンのクローラー。謎。
さんが約10年前に追加
産学連携セミナー インシデントレスポンス概論 を受講してきました
http://connpass.com/event/24282/
マルウェア感染によるインシデントが発生した際に、マルウェアがどのように動作し、どのような被害を及ぼすのかなどを調査するために必要となるマルウェア動的解析技術を座学、演習を通して学習します。
沢山ツール教えてもらった!
案外、CTFにも役に立つかもしれないから、「お、これは」と思ったものを以下に紹介しますね。
| ツール名 | 概要 | ダウンロードURL |
|---|---|---|
| Bintext | バイナリビューア | http://www.mcafee.com/jp/downloads/free-tools/bintext.aspx |
| PDF Stream Dumper | PDFの解析 | http://sandsprite.com/blogs/index.php?uid=7&pid=57 |
| OfficeMalScanner | Ofiice形式のファイル解析 | http://www.reconstructer.org/ |
| CaptureBAT | ファイル、レジストリ、ネットワークの挙動を記録。削除されたファイルの保存などが可能 | http://www.honeynet.org/node/315 |
| API Monitor | WindowsAPIの呼び出し状況を確認。プログラムの挙動を調べる。 | http://www.rohitab.com/apimonitor |
| REMnux | マルウェア解析を支援するためのツールが内包されたLinuxディストリビューション | https://remnux.org/ |
大変勉強になりました!
スタッフの皆様、講師のお二方、ありがとうございました。
ノートとマウスパットを頂いております。
ありがたやありがたや。
ちな、食堂
さんが約10年前に追加
余白の書きなぐり - シェルスクリプトの平文パスワードをセキュアにする方法
http://auewe.hatenablog.com/entry/2014/04/14/213319
余白の書きなぐり - シェルスクリプトの平文パスワードをセキュアにする方法(続き)
http://auewe.hatenablog.com/entry/2015/08/03/234325
を拝見して大変感銘を受けました。
昔、似たようなことをしてたので晒してみる。
いや、Linuxのログイン認証の機能を、そのままシェルスクリプトで実現しただけなんだけど。
当時たしか、Webインタフェースから、コマンド実行させるCGIを作ったんだけど、認証をどうするか考えて、こんな感じにしてた。
まず、これだと平文だよね。
#!/bin/sh
PASSWORD="hoge"
平文のまま記録したくないのでハッシュにしてみる。
当時はMD5にしてたんだけど、このご時世なら sha512 がいいでしょう。
$ echo -n "hoge"|md5sum
ea703e7aa1efda0064eaa507d9e8ab7e -
$ echo -n "hoge"|sha512sum
dbb50237ad3fa5b818b8eeca9ca25a047e0f29517db2b25f4a8db5f717ff90bf0b7e94ef4f5c4e313dfb06e48fbd9a2e40795906a75c470cdb619cf9c2d4f6d9 -
md5sumやsha512sumは、一般的なLinuxディストリビューションにはインストールされているので、普通に使えます。
これを比較するだけ
#!/bin/sh
PASSWORD="dbb50237ad3fa5b818b8eeca9ca25a047e0f29517db2b25f4a8db5f717ff90bf0b7e94ef4f5c4e313dfb06e48fbd9a2e40795906a75c470cdb619cf9c2d4f6d9"
USER_INPUT_HASH=`echo -n "${1}"|sha512sum|awk '{print $1}'`
if [ "${PASSWORD}" == "${USER_INPUT_HASH}" ]
then
echo "認証OK"
else
echo "認証NG"
exit 1
fi
さらにここを参照して、パスワード部分を別のテキストファイルに分離すると、よりセキュアに!!!1
(Linuxは昔、/etc/passwordにハッシュされたパスワードが書かれてたんだけど、/etc/shadowに分離した…という同じ歴史を辿ってて草)
同じパスワードなら、同じハッシュ値になって類推できちゃうんじゃないかって?辞書攻撃に弱い?
よろしい、ではソルトを加えましょう!
準備
0から99までのランダムな値をソルトとして指定し、ハッシュを得る。
(ソルトの値の範囲は、もっともっと大きくしてもいいと思う。)
$ echo -n "$(( $RANDOM % 99 ))hoge"|sha512sum
3ea3e82f7a6ebf35765d098e53a5bea1eba590ee2c04e9dec6c6fdcf57eecfd2d5c3921108e02cb84a33519cefac4a2d627fd2cd085dbab8d9bcddb75457f2aa -
認証ソースのサンプル
#!/bin/sh
PASSWORD="3ea3e82f7a6ebf35765d098e53a5bea1eba590ee2c04e9dec6c6fdcf57eecfd2d5c3921108e02cb84a33519cefac4a2d627fd2cd085dbab8d9bcddb75457f2aa"
for SALT in `seq 0 99`
do
USER_INPUT_HASH=`echo -n "${SALT}${1}"|sha512sum|awk '{print $1}'`
if [ "${PASSWORD}" == "${USER_INPUT_HASH}" ]
then
echo "認証OK"
break
fi
if [ "${SALT}" == "99" ]
then
echo "認証NG"
sleep 10 # sleepするのは、ブルートフォース対策
exit 1
fi
done
exit 0
結果
$ ./sample.sh fuga
認証NG
$ ./sample.sh hoge
認証OK
他の形式にエクスポート: Atom