Apache HTTPD 2.2.21 における変更点 (CVE-2011-3192 Range header DoS 対策)

やっと出たので動作差分です。主に2.2.20でエンバグして修正された点が主になります。 現時点ではまだリリースノートは更新されていませんが、開発者によるGA投票通過して ミラーもされてるので引っ込む事は無いでしょう。 ともあれ今回の件はこれで最後にな…

Apache HTTPD 2.2.20 における変更点 (CVE-2011-3192 Range header DoS 対策)

既にヘッダ削除設定で対応を終えた人も多いと思いますが、新しいバージョンが出た様なので。 まだ未対策の人は、どちらの対応がリスクが低いか判断して対策されると良いかと思います。新バージョンのアナウンスは以下です。 Apache HTTP Server 2.2.20 Relea…

CVE-2011-3192 Range header DoS vulnerability Apache 1.3/2.x の更に続き

気になって調べてたら細かくなってしまったのでエントリ分離。 コンテンツサイズ依存やPoCの独特な区間指定の謎が気になった人向けです。 対策や概要だけで良い方は前々回のエントリをご覧ください。 CVE-2011-3192 Range header DoS vulnerability Apache H…

CVE-2011-3192 Range header DoS vulnerability Apache HTTPD 1.3/2.x の続き

元のエントリに現時点の修正状況を追記しました。 動作的に互換性のある直し方をしてくると思ったらそんなことは無かった様で。 http://d.hatena.ne.jp/nice20/20110825/p1

CVE-2011-3192 Range header DoS vulnerability Apache HTTPD 1.3/2.x

数日前からFull Disclosureで騒がれてたけどやっとCVE採番されたので。 以前のISC BINDの脆弱性(CVE-2011-1910)とかに比べるとzero-day状態に なったにも関わらずApache側の動きが遅い気もします。(表に見えてなかっただけ?) アドバイザリは以下 CVE-2011-3…

OllyDbg 2 Plugin インターフェイス変更点 その1 (2.01a4 暫定版)

暫く前になりますが 8月3日にリリースされた OllyDbg 2.01 alpha 4 でついにプラグインサポートが追加されました。 やはりプラグインあってこその OllyDbg ですよね。 ただ、現時点ではビルド済みのBookmarkプラグインのDLLとソースコードと ヘッダが置いて…

MinGW+GCCでImmunity Debugger Plugin開発

今度はImmunity Debuggerです。 OllyDbgを元にしているのでPlugin用のインターフェイスなどは シンボル名を除いて大体同じです。 が、1.7系までと1.8系以降でエクスポートされている関数名などが変わっている ため、対象バージョンによりプラグインを分ける…

MinGW+GCCクロスコンパイル環境でOllyDbg Plugin開発

妙に遠回りしている感じもしますが、以下のような理由による物です。 メインの開発環境がLinux上 極力GUI依存しないTerminal経由で開発したい 今更Borland C++やVisual C++の古いバージョンを入れたくない こんな環境でやる人はまずいないと思いますが、手順…

ささやき-えいしょう-いのり-ねんじろ!

かこ は まいそう されます。 * ここは リサイクルされます *

CentOS5.2 リリース

リリースされた感じ。まだあまり弄ってないけど目に付いた変更点は以下。 rsyslog追加 kernelリビジョンアップデート 既存のsysklogdが消えることもなくrsyslogが別パッケージで追加されてる模様。 config形式は既存のsysklogd互換の記述が通るけど、色々と…

PXEでiSCSI boot (multipath)

前回の続き。今度はマルチパス構成でiSCSI bootさせてみる。 基本的な所は前回と共通なので差分がある箇所だけ記述。 ソフトウェアとしてはdevice-mapper-multipathを使用。 iSCSI Target設定 テストなのでiSCSI Enterprise Targetを使用。 同じSCSI identif…

PXEでiSCSI boot

iSCSI SAN bootはHBAが高い、使用できるハードウェアが限られる等あるので PXE経由でiSCSI BOOT出来るように頑張ってみた。 InitiatorとしてはLinux-iSCSIはもうメンテされてないし、色々面倒なので Open-iSCSIを使用。なお、CentOS5にはiscsi-initiator-uti…

dlsymをLD_PRELOADでフック

LD_PRELOADで関数をフックしたい場合の常套手段は以下のような感じだが ここで使用するdlsym自体をフックする必要があったのでどうすればいいのか考えてみた。 void (*target_func)(void *p); void libinit() __attribute__((constructor)); void libinit(){…

net-snmpとlinuxの64bitカウンタ実装

誤動作の調査で調べたのでついでに覚え書き。 snmpdで取得できるネットワークインターフェイスカウンタの値は /proc/net/devを元にしている。中身はこんなの。 # cat /proc/net/dev Inter-| Receive | Transmit ... face |bytes packets errs drop fifo fram…

ordb.org 復活?

しかし罠入り。 2006年の12月頃に終了したはずだけど、今更になってrelays.ordb.orgが 127.0.0.2を返すようになった模様。ワイルドカードで指定されているようで 何引いてもRBLに載っている扱いに。 引いてみるとこんな感じ。 $ dig 1.0.0.127.relays.ordb.o…

SEGV起こすアドレスを事前チェック

未確保なアドレスやガードページに対して参照、実行しようすると SEGVで落とされるが、アクセスする前にダメなアドレスかどうか 判定できないかと思い色々試してみた。今回は読み書きのみ対象。 OSはLinuxで2.6カーネル。 1. SEGVシグナル無視 POSIXでは無視…

glibcのbacktrace

glibc付属のbacktraceでシグナルハンドラ内からbacktraceを呼んだ場合 中途半端な結果しか得られないのは何故かと思い調べてみた。 サンプルコード #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <signal.h> #include <execinfo.h> int (*func_ptr)() = (void *)NULL; int fun</execinfo.h></signal.h></string.h></stdlib.h></unistd.h></stdio.h>…

ダメ関数潰し

個人的にはシンボルがそのままな限り動くLD_PRELOADで対応したいところだが、 ローカル関数やアドレス指定で直接呼び出されている関数にはPLT経由で制御を奪う方法は 使えない。 本番用の弄るのはアレなので、適当にサンプルをでっち上げて練習してみるテス…

2008/12/31 問題

新年早々呼び出されて吹いた。 とりあえず書いたヤツはman date or man strftime 100回読めと。 $ date +%G/%m/%d 2008/01/01 $ date --date=yesterday +%G/%m/%d 2008/12/31今年も先行き不安な様子で。今年中にはどうするか考えないとなー。

core

今年もgdbと戯れていたら年が明けましたとさ。 gオプション付きでコンパイルされているのはなんと幸せなことか。

Oracle Database 11g ライセンス比較

db

ふと眺めていたら11gのエディション別機能一覧から ビットマップインデックスとフィジカルスタンバイに関する項目が 消えているのに気づいた。これは10gではEEでしか使用不可能な機能。 http://www.oracle.co.jp/oracle11g/product_editions.html http://www…

python

仕事で使われてる箇所が増えてきたので始めてみる。 代入が値を返さないので、C等の if ( ( (hoge = hogefunc(aaaa) ) != 0 ) みたいな 書き方が出来ないのと、変数に対する ++ -- 、 式での || && ! 等が通らないのが ちょっと戸惑った。まあ、いずれ慣れる…

sendmailのQueueファイルロック処理

外部プログラムからQueueファイルを直接処理する必要があったので 調べた結果をメモ。 同様の処理をしているプログラムとして contrib/qtool.pl 等があるが これは、一部の環境では動かない。(理由は後述) contrib以下だし2002年から更新されていないのでそ…

Oracle Database 11g Release

ついに出た模様。相変わらずJPのサイトには何も書いて無いな。 http://www.oracle.com/features/hp/11g-general-availability.html 現時点でダウンロード可能なのはLinux版のみとなっている。 最初からWindows版も出さないのは珍しい気もする。

大量データ処理、トークンカウント

引き続き効率測定。今度は文字の出現回数を調べる場合。 対象データは前回同様に300万行、600MB程度。 コードはループ内の該当箇所のみ記述。 正規表現 所要時間22.8sec $count = $_ =~ s/ / /g; index 所要時間25.7sec $count = 0; $pos = -1; while(($pos …

一回休み

長く居ても増えるのは柵ばかり。 そろそろ潮時なのかもしれず。

大量データの分割、切り出し処理

スクリプトで大量のデータ処理をしていてsplitが重いと感じたので 色々比較してみた。perlのsplitは正規表現での分割なので、そんなに早くは 無いだろうと思ったが、書き方によっても結構違うようだ。 対象データは300万行、600MB程度。 行単位で読み込んで…

memcpyと構造体直接代入

直接代入が使えるのは知ってたけど、保証されている動作なのか判って なかったので今まで使ってなかった。どうやらANSI CではOKと云うことらしい。 折角なので、どれだけ差が出るのか調べてみた。 サンプルコードは以下 struct addrinfo a1,a2; //memcpy経由…

Core2系CPUのerrata (4)

まだ続く。 今回はRHEL3系(linux kernel 2.4.21)カーネル向け。 修正箇所はRHEL4(linux kernel 2.6.9)と同様に以下。 @arch/i386/kernel/microcode.c:find_matching_ucodes total_size = get_totalsize(&mc_header); if ((cursor + total_size > user_buffer…

Core2系CPUのerrata (3)

さらに続き。 問題があるのは確定だったけど、サーバの方も一応出ていた。 http://h50222.www5.hp.com/support/403111-405/experts/73836.html 更新テストをしてみようということで、マイクロコードを以下から落としてきた。 http://www.urbanmyth.org/micro…