goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Struts1.X系に脆弱性の続きー1.Xは対応策がなくなっている(中間報告:その3):12時追加

2014-04-28 12:03:04 | ネットワーク
さっきStruts 2.3.16.2(問題の2.3.16.1の修正版)が出たらしいので追加

mbsdに具体的なソースがあったのだが、そのソースコードへのリンクが消えている
(4月28日 12時現在:ソースのURLを直接打てば、存在する)

まず、この問題は、

「Strutsの脆弱性を突く攻撃を検知、早急な対策を」、ラック西本専務
http://itpro.nikkeibp.co.jp/article/NEWS/20140425/553442/

にあるとおりなのだが(Struts2でもStruts1でも起こる。
ただし、Struts1はEOLでパッチが出ないので、自分で対応する必要あり)

そのリンク先をたどると、

Apache Struts 2の脆弱性が、サポート終了のApache Struts 1にも影響
~国内でいまだ大量稼働するStruts 1利用企業に、直ちに緩和策を~
http://www.lac.co.jp/security/alert/2014/04/24_alert_01.html


に行き着く。たしかにラックの対応はでている。
ただ、ここで書かれているのは、「Struts 1の場合」「フィルタを作れ」と
書いてあるだけで、具体的にどのようにフィルタを作るのか書いてない。

そこで、具体的な作り方を

Struts1.X系に脆弱性の続きー対応策、こうしろと言ってる?(中間報告:その2)
http://blog.goo.ne.jp/xmldtp/e/9f9c7356bbeb365b48a94b287aaa9393

に書いた。ここで、フィルタのソースは、


暫定対応版のソースコード
http://www.mbsd.jp/img/testFilter.java

を参照しているのだが、このソースコードが、

2014/4/22
Apache Struts2(2.3.16、S2-020の修正版)に対するゼロディを弊社エンジニアが発見いたしました。
http://www.mbsd.jp/news20140422.html

からたどれなくなっている。ラックの上記説明では、このページを参照しているので、
暫定対応のソースをどう書けばいいのかわからない!




■この「暫定対応のソース」の、どこがすごいのか!

この情報をみたとき、パラメータというのは、URLのなかのパラメータ
を想像したのではないだろうか。わたしもそうだ。

で、上記「暫定対応版のソースコード」も、doFilterのはじめのループ
while (params.hasMoreElements())
で、それをチェックしている。

問題は、そのあと・・・
Cookie cookies[] = httpreq.getCookies();
して、クッキーの中も見ているのだ!

つまり、クッキーの中に問題のclassって言葉があると、それをみて、
実行しちゃうことを、はじいているように見える
たしかに、セッションIDなどは、クッキーに入っているので、
クッキーをtomcat,strutsが見ている可能性はある。

そして、もし、悪いやつらが、ブラウザではなく、Javaのプログラムを
作って、アクセスしてきた場合、クッキーに、問題となるパラメータを
仕込んで送信することもできるだろう・・・


・・・パラメータって、もしかして、クッキーも含んでいる???
これ、そのことには気づかないだろう(私は気づかなかった)

そこまで、やっている処理なので、これはすごいのだ
(それに比べたら、classという引数をプログラムで使っている
 問題などは、問題にならん)

なので、このソースは、残しておいてほしいのだ・・・




今は、リンクがたどれないだけになっているけど、
そのうち、ソースコードも消されるかもしれない。
いまのうちに、Let'sダウンロード!
12時追加
P.S ごめん、これだと、mbsdが悪いように読めちゃうね!
mbsdはわるくない。なぜなら、この記事は、struts2の記事で、
struts2は、対応パッチが出たらしい・・・

24 April 2014 - Struts 2.3.16.2 General Availability Release - Security Fix Release
http://struts.apache.org/announce.html#a20140424

(バージョンを確認してほしい。上記mbsdに書かれているのは、2.3.16.1、
上のアナウンスは、2.3.16.2,バージョンがあがっているから、
修正しているみたい)

mbsdは、Struts2の話しかしてなくて、その対応版が出たのだから、
暫定版を削除してしまうのは、当たり前の話なのだ。
だけど、そうされると、struts1の人は・・・っていうことで
このエントリは、struts2に上げられない、貧しい子のためのお願いなのだ。。)

詳しくは、あとで
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 良品計画 グローバルシステ... | トップ | 4月28日(月)のつぶやき »
最新の画像もっと見る

ネットワーク」カテゴリの最新記事