タグ

bashに関するN_Tのブックマーク (21)

  • bash の危険な算術式 - どさにっき

    ■ bash の危険な算術式 _ 使ってる人がいちばん多いだろうからタイトルでは bash としてるけど、ここで取り上げることは zsh および ksh 一族(家 ksh、pdksh、mksh)にも該当する。ash、dash などでは該当しない。 _ 以下のシェルスクリプトには脆弱性がある。わかるだろうか。 #!/bin/bash # "品目,単価,個数" の形式の CSV を読んで、"品目,合計金額" の形式で出力する csv="foo.csv" while IFS=, read item price num; do echo "$item,$((price*num))" done < "$csv" これ、細工された CSV ファイルをわせることで、任意コードの実行ができてしまう。数ある脆弱性の中でもとくにヤバいやつだ。どこが穴なのかというと、タイトルにもあるとおり算術式なのだが、し

  • Bash on Windows/Windows Subsystem for Linuxがベータ版を卒業、正式版に。今秋のWindows 10 Fall Creators Updateで

    Bash on Windows/Windows Subsystem for Linuxがベータ版を卒業、正式版に。今秋のWindows 10 Fall Creators Updateで Windows 10でLinux互換機能を提供するWindows Subsystem for Linux(WSL)が、この秋に提供予定のWindows 10の大型アップデートWindows 10 Fall Creators Update」で正式版になることが発表されました。現在はベータ版として提供されています。 一般ユーザーに先行して新しいアップデートを適用するWindows Insderプログラムのユーザーは、「Insider build 16251」から正式版になることも告知されています。 ただし正式版になったことで起こる目に見える変化は、以下のダイアログから「Beta」の文字がなくなったことだそうで

    Bash on Windows/Windows Subsystem for Linuxがベータ版を卒業、正式版に。今秋のWindows 10 Fall Creators Updateで
  • Windows 10でLinuxプログラムを利用可能にするWSLをインストールする(バージョン1803以降対応版)

    WSL(Windows Subsystem for Linux)とは? Windows 10ではLinuxのプログラムを実行可能にする「WSL(Windows Subsystem for Linux)」が利用できる。当初、このWSLは実験的なβ版(当時の名称は「Bash on Ubuntu on Windows」)として提供されていたが、Windows 10 バージョン1709(ビルド16299)以降では正式なOS機能の一つとなっている。 現在ではLinuxシステムとの互換性も向上した他、Microsoft Store経由でのインストール、Ubuntu以外のディストリビューションの提供、コマンドプロンプトからWSLのコマンドを呼び出し可能になるなど、機能も向上している。 Linxu環境をエミュレーションするWSL WSLはWindows OS上でLinuxの実行環境を実現するサブシステムで

    Windows 10でLinuxプログラムを利用可能にするWSLをインストールする(バージョン1803以降対応版)
  • Windows10 Anniversary updateで知らぬ間にSSHdが起動している : やすひでぶろぐ

    リリースされたばかりのWindows10 Anniversary updateを適用しました。 目当てはBash(Ubuntu) on Windows。早速開発者モードを有効にしてセットアップ! どれどれ、ほかに変わったところは無いかな。 ん・・・!? SSH Server Broker、SSH Server Proxy is 何? ためしに管理者のユーザー名、パスワードを入力して、ポチッとな! コマンドプロンプトが使えました。 ア カ ン v4/v6 Listen、ファイアウォール全許可 ローカルListenしているだけで、ネットワーク越しには使えないよね常識的にかんg・・・ 0.0.0.0:22、[::]:22でListenしている。 Windows Firewallの様子はどうかと思うと・・・ 全許可。なんということでしょう。 Bash on Windows利用時は注意 目玉機能の一

    Windows10 Anniversary updateで知らぬ間にSSHdが起動している : やすひでぶろぐ
  • Bashのよくある間違い | Yakst

    原文は2015年8月22日時点のものを利用しており、それ以降に追記、更新されている可能性があります。 翻訳は原作者の許可を得て公開されています。 Thanks for GreyCat! このページはBashプログラマーが陥りがちなよくあるエラーについてまとめました。以下の例は全てなんらかの欠陥があります。 クオートをいつも使い、どんな理由があっても単語分割を使わなければ、多くの落とし穴からあなた自身を守ることができます!単語分割はクオート表現をしない場合にはデフォルトでオンになっている、Bourneシェルから継承された壊れたレガシーな設計ミスです。落とし穴の大半はクオートされていない展開になんらか関連し、単語分割しその結果をグロブします。 1. for i in $(ls *.mp3) BASHプログラマーたちがループを書く際にもっとも犯しがちなよくあるミスは以下のような感じです。: f

    Bashのよくある間違い | Yakst
  • grepのようにfindする - ももいろテクノロジー

    findコマンドのオプション指定が面倒なので、grepのように使える、次のようなシェル関数を定義してみる。 if [[ -n "$PS1" ]]; then f() { find "${2:-.}" \! -type d \! -path "*/.*" -path "*$1*" |& grep -v -F ": Permission denied" | sort } fi このコマンドは、第2引数に指定したディレクトリ以下について、フルパスに第1引数を含むものをソートして表示する。 また、一致するもののうち、ディレクトリそのもの、ドットから始まる隠しディレクトリ以下は除外する。 合わせて、パーミッションがないことによるエラーメッセージを出ないようにしている。 なお、第2引数を省略した場合はカレントディレクトリが対象となり、第1引数も省略した場合は除外条件を除くすべてのファイルが表示される。

    grepのようにfindする - ももいろテクノロジー
    N_T
    N_T 2015/03/07
  • Shell shock事件が明らかにするあなたの組織における情報セキュリティ力

    講演では、shellshock(bash脆弱性)への対処事例をもとに、組織におけるセキュリティ事故発生リスクとその対処能力を評価する方法を述べます。ShellShockは、サーバから組み込み機器まで多数のシステムに影響を与えました。また、この脆弱性は、複数の脆弱性が重なったものであり、その対処方法や影響範囲も二転三転するものでした。このため、システム管理者は、最新の情報を把握に加えて、自身のシステムを正確に把握し、パッチ適用までの空白時間におけるリスク評価など、高度かつ適切な対処が求められました。発表では、その対処事例の紹介と、その問題点・改善点を説明し、組織としての事故発生リスクや対処能力を把握する方法を説明します。

    Shell shock事件が明らかにするあなたの組織における情報セキュリティ力
  • bash脆弱性、国内メーカーの対応まとめ(10月14日現在)

    UNIX系OSのシェル「bash」にOSコマンドインジェクションの深刻な脆弱性が発覚した問題で、国内メーカーなどの対応状況を10月14日正午現在で取りまとめた。なお、編集部で確認できた範囲のため、情報が網羅されているわけでないことをあらかじめお断りしておく。脆弱性の詳細などについて、JPCERT コーディネーションセンターが情報を公開している。 10月14日更新 NEC 影響を受ける製品……Express5800/CS・InterSec/CS・InterSecVM/CS(アップデートなど準備中、詳細情報)、Express5800/MW・InterSec/MW・InterSecVM/MW(修正モジュールあり、詳細情報)、Express5800/LB・InterSec/LB・InterSecVM/LB・InterSecVM/LBc(アップデートなど準備中、詳細情報)、SECUREMASTER

    bash脆弱性、国内メーカーの対応まとめ(10月14日現在)
  • Trend Micro Incorporated

    オンプレミスからクラウドへの移行をはじめ、ハイブリッドクラウド環境をシームレスに保護しながら、クラウドの利点を実現します。 詳しくはこちら

    Trend Micro Incorporated
  • 第4回 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ | gihyo.jp

    10月に入り、9月までに起こったことをざっと振り返るというお題がどこかから聞こえてきたので、「⁠じゃあ……」という感じで振り返ってみることとします。 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ まだ現在進行形の事案ではありますが、9月下旬に発覚したBashの脆弱性に起因して、10月上旬までまだ収束していないShellshock。 Bash 4.3の例で説明すると、Patchlevel 25~30までは以下のような軌跡をたどっています。 9月24日にPatchlevel 25 9月26日にPatchlevel 26 9月27日にPatchlevel 27 10月1日にPatchlevel 28 10月2日にPatchlevel 29 10月5日にPatchlevel 30 この間に発見、修正された脆弱性は、CVE-2014-6271、CVE-2014-71

    第4回 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ | gihyo.jp
  • bashの実行権を落としてCentOSが起動せず四苦八苦して復旧した記録 - Gobble up pudding

    このところHOTな話題のbashの脆弱性で小手先の対策で 1. 全ユーザのデフォルトのシェルをtcshに 2. /bin/bashの実行権をなくすという方法を暫定的に採用しようことで 検証していたらCentOSが起動しなくなって泣きそうになった記録をダラダラと書きます。 断片的なLinuxの知識しか持ち合わせていないと簡単なことでも苦しみますね。 bashの脆弱性についてはここが詳細に書かれています。 bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog ちなみにCygwinはどうなのかなーと思ったらやっぱりだめでした。 $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" vulnerable this is a test $ bash -ver

    bashの実行権を落としてCentOSが起動せず四苦八苦して復旧した記録 - Gobble up pudding
    N_T
    N_T 2014/10/03
  • Just another Ruby porter, 2014-8-b

    ■ Q1 画面にバッテンを描いてください printfだけでやってみようと思ったが、 やはり真ん中で1個にする処理がどうしてもうまいこといかない。 tr -s xでごまかした。 % for i in {1..11} {10..1};do printf "%*s%*s\n" $i x $[22-2*i] x|tr -s x;done x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x %.0sにすれば消えるが、むむ、待てよ。ああ、こうすればいいのか。 for i in {1..11} {10..1};do printf "%*s%*.*s\n" $i x $[j=22-2*i] $j x;done x x x x x x x x x x x x x x x x x x x x x

    N_T
    N_T 2014/08/18
  • bashで間接的な変数参照 - jarp,

    ■ trで文字列の繰り返し aからmを0へ、nからzを1へ変換したいとする。 trでやるならこんな感じになる。 % bash -c 'echo {a..z}' | tr a-z 00000000000001 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 足りない分は最後の文字が使われるので、 1はまあそれでいいんだけど、0を何とかしたい。 % bash -c 'echo {a..z}' | tr a-m 0 | tr n-z 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2回に分けるのはわかりやすいが、man trしてみたら [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0 という記述

    N_T
    N_T 2014/07/22
  • L&#39;eclat des jours(2014-06-29)

    _ ためになる 例によってアスキーというかカドカワの鈴木さんからもらったを読んだので紹介する。っていうか、最近、このての記録がやたらと多い気がするが、もらったのうち、何冊かは(実はここに書いてないけどもっと山ほどもらっている)こりゃおもしろそうだとか、今まさに欲しいだとかで読むし、読めば記録するんだからしょうがない。 で、シェルスクリプト高速開発手法入門だ。 おもしろかった。でも、これは弱ったな(当に弱っているのではなく、なんか照れているような、そんなニュアンス)。時代の風をびゅんびゅん感じるぜ。 おれは、今、Insider.NETASP.NETによる軽量業務アプリ開発っていうのを連載させてもらっているんだけど、以下の諸点において、著者と同じ空気を吸っているようだ。 ・コマンドラインとエディターが楽。 ・後付けのソフトウェアをできるだけ避けて箱をシンプルに保つ(ただし、書の著

  • シェルで glob 結果を事前に確認する方法 - @znz blog

    rm *~ のつもりで rm * ~ (半角スペースが混ざっている) のように実行してしまうような間違いをすると危険です。 その対策として tcsh には rmstar という設定があったり zsh には RM_STAR_SILENT や RM_STAR_WAIT という設定があるのですが、 ちゃんと展開結果を確認してからコマンドを実行する方が安全です。 また rm 以外でも展開結果を事前に確認できると便利なことが多いです。 展開結果の確認方法 bash や zsh の一般的なキー割り当てだと C-x g (Control を押しながら x を押して Control を離して g) で展開結果を確認できます。 Tab キーだとコマンドライン中に展開されてしまいますが、 C-x g だと確認だけ出来ます。 bash の場合 たとえば bash なら以下のように展開結果が出て、 プロンプトの行

    N_T
    N_T 2014/06/22
  • PNGの最適化ツールを探して - jarp,

    ■ 久し振りのGWの谷間出勤 諸般の事情により出勤しているんだけど、電車の一旦ドア閉め乗車がなかったり、 夕の社がなかったりといろいろと新鮮だ。 ■ Ruby 1.4の頃の-eの実装とirb 昨日までのirbはこんな感じになっていた(すでに変更された)。 require "irb" if __FILE__ == $0 IRB.start(__FILE__) else # check -e option if /^-e$/ =~ $0 IRB.start(__FILE__) else IRB.setup(__FILE__) end end この-eオプションのチェックはなんか意味不明なことになってるが、 元々Ruby 1.4の時代はsample/irb.rbでこうなっていた。 require "irb/main" if __FILE__ == $0 IRB.start(__FILE__)

    N_T
    N_T 2013/05/10
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    N_T
    N_T 2013/02/28
  • Just another Ruby porter, 2013-2-c

    ■ What is Beginner Mode, and how long does it stay on for? というわけで、ビギナーモードだったとわかった。 これは5回サイクルを繰り返すとノーマルモードに戻る。 納得。 でもなぜビギナーモードになったのかが不明。 リセットしたわけでもないのに。 ■ 空白区切りで並べる カンマ区切りで並べるにはpaste -sd,が便利だが、空白の場合は実はもっと簡単な方法がある。 xargsを使えばいい。 % seq 3 | paste -sd' ' 1 2 3 % seq 3 | xargs echo 1 2 3 さらにxargsはコマンドを省略すると/bin/echoを呼ぶのでechoすら不要。 % seq 3 | xargs 1 2 3 いくつ並べるかは-nで指定できる。 % seq 9 | xargs -n3 1 2 3 4 5 6 7 8

    N_T
    N_T 2013/02/26
    $ seq 9 | xargs -n3
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • Bashでtrapをset -eの代わりに使う - Just another Ruby porter, 2012-10-b

    ■ うっかりThunderbird 15へ上げてしまった 上げちゃったんだから、いい機会だとそろそろ対応してないかと見に行ってみた。 Exchange 2007/2010 Calendar and Tasks Provider レビューに3.00-rc3ならTb15で動くとあったので、試したがなぜか設定が空に。 新規で作り直したら動いた。まあ、普通に問題なさげ。 Tb15対応だけじゃなく、招待の返事を送らないという選択肢が増えてたりといろいろ改良されてるようだ。 これで14へ戻さなくてもよさそう。 ■ Xfce4でシステムモニター Xfce4システム負荷モニターを入れてみたが、cpugraphのほうがにぎやかでよさげだ。 当はgnomeのappletを動かそうとxfce4-xfapplet-pluginを入れようと思ったが、 gnome3に対応しきれないためかUbutntu 12.04に