LiveHttpHeaderツールでGETをPOSTに変更する方法

※当サイトではアフィリエイト広告を利用しています

1.strutsの脆弱性

strutsの脆弱性に関する問題が世間を騒がせています。

今回の脆弱性は、当初はstruts2.X系だけ影響するとの話でしたが、struts1.X系にも影響が及ぶことが明らかになりました。

現在は、Struts 2 がサポートされていますが、2008年10月4日に最終版が公開され、2013年4月5日でサポート終了となった、Struts 1 においても、同様の脆弱性が存在します。しかし、Struts 1 はサポート終了しており、当該プロジェクトからは公式なアナウンスは出ておらず、今後正規の更新プログラムの提供もされないものと考えられます。

Apache Struts 2の脆弱性が、サポート終了のApache Struts 1にも影響

struts1は、正式にサポートが終了したことが公表されていますが、struts1で動作しているWEBアプリは未だに数多く存在します。
日本のエンジニアたちの中には、ゴールデンウィークを潰された方が多々いらっしゃることでしょう。

サービスを停止させた官公庁系の一部のシステムは、斬新ですが賢明な判断だったかもしれません。

strutsを使っていなかったり、フレームワークがSAStrutsのシステムの方々はラッキーだったことでしょう。

2.リクエスト内容を書き換える

私個人の話ですが、保守しているシステムの中に、運悪くstruts1で動いているがありました。

そこで、strutsの脆弱性に関する試験ということで、無理やりPOSTのリクエストを送信する必要が出てきました。

firefoxのLiveHttpHeaderというツールを使用して、簡単にリクエスト内容等を書き換えることができます。
使い方についてはここでは省略しますが、POSTに書き換える際につまずいた点をメモしておきます。

 

 

3.application/x-www-form-urlencoded

GETのリクエストをキャプチャして、POSTで送り直そうと、GETからPOSTにセレクトボックスを変更してリクエストを掛けました。
ですが、サーバは一向にPOSTのリクエストを受信しませんでした。

おかしいと思い調べたところ、HTTPヘッダに以下のパラメータを追加する必要があることがわかりました。
「Content-type: application/x-www-form-urlencoded;charset=UTF-8」
liveHttpHeader_.png

この値を追加したことで、POSTへの書き換えに成功しました。

 

コメント