2017年5月19日金曜日

仮想環境のRHEL7およびCentOS7で起動時に時刻が9時間ずれる問題のメモ


【定義】
 BIOS時間 = hwclock = RTC time(Real Time Clock)
 OS時間 = SYSTEM時刻 = Universal time = UTC(Linux)
 Local time = (OS時間+9時間) = Asia/Tokyo (JST, +0900)


【前提】
・RHEL6 の時刻同期の仕組み (ntpd)
Red Hat Enterprise Linux 6 では、hwclock コマンドは毎回のシステムのシャットダウン
または再起動時に自動的に実行されますが、これは Red Hat Enterprise Linux 7 では実行されません。
システムクロックが Network Time Protocol (NTP) または Precision Time Protocol (PTP) で同期される場合、
カーネルは自動的に 11分ごとにハードウェアクロックをシステムクロックに同期します。
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Configuring_the_Date_and_Time-hwclock.html

※RHEL6 の時は自動的にOS時間でBIOSの時間を上書き修正していた


・LinuxとWindowsのハードウェアクロックの扱いは違う
Linux ディストリビューションのほとんどは、ハードウェア クロックを UTC として扱うのが既定です。
Windows マシンは、ハードウェア クロックにローカル時刻を格納します。
タイムゾーンの設定が日本であれば、GMT+9:00 (=UTC+9:00) の時刻がハードウェア クロックに格納されています。
http://yamanxworld.blogspot.jp/2010/01/linux-9.html

※Linuxは起動時に BIOS時間をUTCの前提で採用し+9時間したものをローカル時間として利用する。
 Windowsは起動時にBIOS時間をそのままローカル時間として採用する。




・WindowsはBIOS時間でOS時間を設定する
NTP サーバーに対するアクティブな接続が存在しない場合、システム時刻が BIOS クロックと同期され、
時刻の差異が 60 秒を超えた場合に、システム時刻が BIOS クロックに合わせて自動的に修正されます。
https://social.technet.microsoft.com/Forums/ja-JP/7d33c109-4d56-4420-be54-e589a890d206/windowsbiosrtc?forum=w7itprogeneralja
https://support.microsoft.com/ja-jp/help/946033/the-system-time-may-differ-from-the-bios-time-on-a-windows-based-computer-that-supports-high-precision-event-timer



【仮説】
・前提から推測される現象の説明

・仮想環境に異なるOSが混在するケースのシーケンス
Windowsシャットダウン
 WindowsゲストによりBIOS時間がローカル時間(UTC+9:00)として設定される
Linux起動
 LinuxゲストではBIOS時間(Windowsによってローカル時間に設定済み)に +9:00 した値をOS時間として採用する
 起動時に ntpdate が実行される場合、OS時間は(UTC+9:00)で正しく修正される
 11分毎に(ntpdの場合)ローカル時間(UTC+9:00)をBIOS時間に継続して上書き設定する
WindowsではBIOS時間とOS時間が常に9時間ずれた状態で稼動している


・仮想環境に異なるOSが混在するケースのシーケンス(RHEL7およびCentOS7のケース)
Windowsシャットダウン
 WindowsゲストによりBIOS時間がローカル時間(UTC+9:00)として設定される
Linux起動
 LinuxゲストではBIOS時間(Windowsによってローカル時間に設定済み)に +9:00 した値をOS時間として採用する
 LinuxのOS時間はローカル時間+9:00で稼動するためずれが生じる
WindowsではBIOS時間とOS時間にずれが無い状態で稼動している



【対策】
・LinuxとWindowsでは、システム時間に採用するソースの扱いが仕様として異なることが原因である
対策としては以下の手法が考えられる

「Linux起動時にBIOSから取得される値は、Windowsによって設定されたローカル時間である」を正とした場合
・カーネル起動時およびシャットダウン時のシステムログの時刻がBIOS時間+9:00された時刻が記録される可能性があるがこれは無視する
・OS起動時にNTPサーバーの時刻でシステム時間の強制同期を行い、BIOS時間は考慮しない

「Linux起動時にBIOSから取得される値は、UTC時間である」を正とした場合
・Windowsを再起動したタイミングでBIOS時間がローカル時間に修正されているため、都度(Linux側から)UTC時間に修正する
 ただし、WindowsゲストはBIOS時間に影響を受けておりntpサービスが途切れた場合に不具合がある
・Linuxの起動時のみBIOS時間をUTCに修正する


その他
・仮想のハードウェアにWindowsとlinuxを混在させない(LinuxのみであればホストをUTCにすれば解決)
・ホスト側でゲストからの時刻修正を受け付けない(LinuxはUTCとしてBIOS時間を取得することはできない)
・ゲスト起動中にOS時間とBIOS時間が徐々にずれていく現象は仮想ホストにおけるRTCのエミュレーションによる差分が生じるためとされ、本事象とは関係がない
 http://d.hatena.ne.jp/dayflower/20071210/1197254725

いじょ。

2016年10月27日木曜日

国別IP割り当てリスト(CIDR.txt)の作り方

CentOS7でいろいろ作業がしにくくなった昨今、皆様いかがお過ごしでしょうか。

 以前より某サイト様から ACCEPT_COUNTRY で接続先を国単位で制限するiptables のshellを利用させて貰っていましたが、かなり大幅な更新があったようで、独自に機能追加している自分としては、またもや手を入れるはめになりました。

CIDRとは

IP Address=インターネットにおける使用者の住所
ってことは大方の人がご存知だと思うんですが、プロバイダーのさらに上位の管理組織では国単位でIPアドレスの割り振りをしています。


各組織が公開している割り当てリストを実際に見るとこんな感じ。
# cat delegated-arin-extended-latest|grep "JP|ipv4"| head -10
arin|JP|ipv4|64.56.160.0|8192|20000321|allocated|aeff7d84c92f62a27ea05c2afe31f951
arin|JP|ipv4|170.105.0.0|65536|19940404|assigned|d1f7854cf92b0efd0e649f0a6c29921a
arin|JP|ipv4|199.103.103.0|256|19940625|assigned|629f9ff288afae0ad0a4b0b4123b80e3
arin|JP|ipv4|204.79.157.0|256|19941214|assigned|bbb16281966807d187b902dd9fcdbfd4
arin|JP|ipv4|204.79.158.0|256|19941214|assigned|bbb16281966807d187b902dd9fcdbfd4
arin|JP|ipv4|204.79.218.0|256|19941219|assigned|03c5127ab52527ee0ff75c768d49d461
arin|JP|ipv4|204.231.230.0|256|19950421|assigned|a28492c99368fed3ff029e96ade823c8
arin|JP|ipv4|204.231.251.0|256|19950421|assigned|0dddb111d7c3ff3c02b3d847a0fb6ffb
arin|JP|ipv4|204.231.252.0|256|19950421|assigned|0dddb111d7c3ff3c02b3d847a0fb6ffb
arin|JP|ipv4|206.3.0.0|8192|19950508|allocated|aeff7d84c92f62a27ea05c2afe31f951

例として1行目)
arin|JP|ipv4|64.56.160.0|8192
ここで実際に必要なのは、
 64.56.160.0から8192個のIPアドレスはJP(Japan)に割り当てるよって情報だけです。


・それぞれ以下のURLからゲットできます。
wget http://ftp.apnic.net/stats/apnic/delegated-apnic-latest               #APNIC
wget ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest  #ARIN

wget http://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest    #RIPE
wget http://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest      #LACNIC
wget http://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest    #AFRINIC

しかし、そのままでは使えない問題が!

iptables の指定方法ではサブネットマスクの単位で指定しなければならないのです。
 64.56.160.0から8192個 → 64.56.160.0/19

よって計算して変換します。
とは言え、別に簡単な話で下のように決まってる数値を置き換えればいいだけなので
計算しなくたって、32個の文字列の置き換えでも可能なわけです。

IPアドレスが1個の場合           →/32    ←ここから
IPアドレスが2個の場合           →/31
IPアドレスが4個の場合           →/30
IPアドレスが8個の場合           →/29
IPアドレスが16個の場合          →/28
IPアドレスが32個の場合          →/27
IPアドレスが64個の場合          →/26
IPアドレスが128個の場合        →/25
IPアドレスが256個の場合        →/24    ←ここまでがクラスC
IPアドレスが512個の場合        →/23    ←ここからクラスB
IPアドレスが1024個の場合      →/22
IPアドレスが2048個の場合    →/21
IPアドレスが4096個の場合    →/20
IPアドレスが8192個の場合    →/19
IPアドレスが16384個の場合  →/18
IPアドレスが32768個の場合  →/17
IPアドレスが65536個の場合  →/16
IPアドレスが131072個の場合 →/15    ←ここまでがクラスB
IPアドレスが262144個の場合 →/14    ←ここからクラスA
IPアドレスが524288個の場合 →/13
IPアドレスが1048576個の場合 →/12
IPアドレスが2097152個の場合 →/11
IPアドレスが4194304個の場合 →/10
IPアドレスが8388608個の場合 →/9
IPアドレスが16777216個の場合→/8
IPアドレスが33554432個の場合→/7
IPアドレスが67108864個の場合→/6
IPアドレスが134217728個の場合→/5
IPアドレスが268435456個の場合→/4
IPアドレスが536870912個の場合→/3
IPアドレスが1073741824個の場合→/2
IPアドレスが2147483648個の場合→/1

 ほんとはクラスCまでで止めようと思ったんだけど、真に受けて本当に変換テーブル
書いちゃう人がいて「なんで途中までしか無いんだよヾ(*`Д´*)ノ」 とか言ってこない
とも限らないので頑張って書きました。


という訳で各組織からリストをちょっぱってきて
arin|JP|ipv4|64.56.160.0|8192|20000321|allocated|aeff7d84c92f62a27ea05c2afe31f951
arin|JP|ipv4|170.105.0.0|65536|19940404|assigned|d1f7854cf92b0efd0e649f0a6c29921a
arin|JP|ipv4|199.103.103.0|256|19940625|assigned|629f9ff288afae0ad0a4b0b4123b80e3

     ↓
JP    64.56.160.0/19
JP    170.105.0.0/16

JP    199.103.103.0/24
このような形に整形するスクリプトがこれです。

[root99@ /home/root99/bin]# cat ./make_cidr.sh


なんで "..........." て延々と表示してるかって言うと、Firewall内とか通信環境の悪いとこから実行した場合、パケットが長時間途切れて切断されちゃうからですね。
不要だと思ったら printf "." をコメントアウトしましょう。



DNS & BIND 第5版   オライリージャパン 
DNS & BIND 第5版   オライリージャパン


いじょ。

2016年9月21日水曜日

http(port 80)のセッション数をリアルタイムで監視したい

Webサーバーのセッション数の上限が低いせいで表示が重たいのでは?
と思ったので監視用にshellを作ってみた。

オプションはvmstat風。
 中身はnetstat -pantu と ps -eaf してるだけなのでroot権限で実行するのが望ましい。



[注意]
eth0に設定された ip_addr:80 のセッションしかカウントしません。
SSL証明書は手前で解決しているため。


[実行結果]
[root99@ ~/bin]# ./http_sess_counter.sh
error: Not Arg!
   ./http_sess_counter.sh WaitTime(s) Count
   example: ./http_sess_counter.sh 5
   example: ./http_sess_counter.sh 60 1440


[root99@ ~/bin]# ./http_sess_counter.sh  60 30
TIME_WAIT       FIN_WAIT2       ESTABLISHED     LAST_ACK        CLOSE_WAIT      TOTAL_SESS      HTTPD_CNT       DATE
    143              18              51               1               1             214              44         20XX/mm/dd 18:37:08


[Shell Source: http_sess_counter.sh ]



いじょ。

2015年6月25日木曜日

世界一かんたんな「うるう秒」対応

LeapIndicator(LIフラグ)を受け取る前にntpdを停止
うるう秒の調整が終わったら起動。


#cronに以下を挿入
01 00 30 06 * /etc/init.d/ntpd stop >/dev/null 2>&1
05 09 01 07 * /etc/init.d/ntpd start >/dev/null 2>&1


以上、これ以外なにも必要なし。




相変わらずIT業界恒例のマッチポンプ。
 ni●tは、Liフラグを送信しないntpサーバーを建てろよ糞が。




【参考情報】
https://access.redhat.com/ja/node/1362753
 うるう秒挿入後に Leap Second Insertion フラグを削除する

http://www-06.ibm.com/jp/linux/tech/doc/0019db89.html
【Technical Notes】Linux システムクロックの『うるう秒』調整

http://hiroki.jp/leap-second-2015
7/1の閏秒を迎えるにあたってLinuxでは何をすべきか?


2014年3月25日火曜日

Tera Term ログ出力の改行についてのメモ

Tera Termでは、ログ出力するとタームの画面の端で改行が入るため、後からエディターで見た場合に読みづらいログになることがある。


この解決方法は、INIファイルに
Enablecontinuedlinecopy=on
を書けばよい。

 ※デフォルトは off になっている。


オリジナルのINIを作成する場合は、
[設定(S)]→[設定の保存(S)]  で名前をつけて現状を保存し、macroファイル内で
strconcat msg ':22 /ssh /KR=UTF-8 /KT=UTF-8 /F=example.ini /auth=password /user='
のように指定する。



「tera term ログ出力 改行」
でググったらたまたま見つけたんだけど、このオプションは潮田って人のおかげなのね。
http://www.freeml.com/teraterm/76/latest








Linuxカーネル解析入門 (I・O BOOKS)  平田 豊(著) 
Linuxカーネル解析入門 (I・O BOOKS)  平田 豊 (著)
 


2013年1月21日月曜日

google急上昇ワードの謎


google急上昇ワードが変?!

ガジェットなどでgoogle急上昇ワードをチェックしている人は案外多いようです。


こんなのです。


20位くらいまでgoogleからxmlで提供されているので
http://www.google.co.jp/m/services/trends/get?hl=ja&gl=jp


参照して個人でアプリを作ったりも可能。








 普段から見ていると、中におかしなキーワードが混ざってることに気がつきます。
一介の不動産屋や、メンズエステのことをそんな大勢の人が検索してるはずは
ないよなぁ…と。


これは、きっとSEO業者さんの仕業。
どんな手法でやってるのか、実サイトを調べつつ考えてみようと思います。



 ひとまず4位のあたり見てみます。
 そのままキーワード通りに検索すると、ほんとに普通の町の不動産屋さんて感じのサイトがヒットしてgoogle mapも表示されています。


8位のメンズエステも同様。


先にこの二つのサイトのドメインについて調べてみました。
 
不動産屋さんサイトのドメイン情報
ドメイン登録業者:お名前.com
サイト管理者:design-in.jp(->kagoya.net)
サーバー:NTT Verio (lala-cake.com)
root99#whois asahi-fudousan.net
This server only serves information on GMO Internet,Inc.-maintained domain names
For more information, please contact hostmaster@gmo.jp.
Domain Name: asahi-fudousan.net
Created On: 2010-11-19 22:56:05.0
Last Updated On: 2012-05-24 20:33:51.0
Expiration Date: 2013-11-19 22:56:05.0
Registrant Organization: Asahi Real Estate Development
Registrant Street1: 20-28,Takasago2-chome
Registrant Street2: Registrant Email: admin@onamae.com
Admin Name: Yusuke Watanabe
Admin Organization: Design Inc.
Admin Street1: 3-3-2 Shibuya
Admin Street2: Shibuya MK bld. 5F
Admin City: Shibuya-ku
Admin State: Tokyo
Admin Postal Code: 150-0002
Admin Country: JP
Admin Phone: 03-5467-2051
Admin Fax: 03-5467-2061
Admin Email: domain@design-inc.jp
Tech Email: yokota@design-inc.jp
Name Server: ns1.secure.net
Name Server: ns2.secure.net

エステ屋さんサイトのドメイン情報
ドメイン登録:AGN Inc
ドメイン登録者:sakura.ad.jp
サーバー:ucom
root99#whois luxia.jp
[Domain Name]                   LUXIA.JP
[Registrant]                    AGN Inc
[Name Server]                   ns1.dns.ne.jp
[Name Server]                   ns2.dns.ne.jp
[Created on]                    2011/04/25
[Expires on]                    2013/04/30
[Status]                        Active
[Last Updated]                  2012/12/04 09:48:45 (JST)
Contact Information:
[Name]                          SAKURA Internet Domain Registration
[Email]                         jprs-staff@sakura.ad.jp
 MENSLUXIA.JP も同様だけど、MXがあるのはこれだけだから、こっちが本体かな?


ドメイン登録業者:ムームードメイン
root99#whois uewomuitearukou.info
Domain ID:D47487589-LRMS
Domain Name:UEWOMUITEARUKOU.INFO
Created On:15-Aug-2012 13:03:14 UTC
Last Updated On:14-Oct-2012 20:36:31 UTC
Expiration Date:15-Aug-2013 13:03:14 UTC
Sponsoring Registrar:GMO Internet, Inc. d/b/a Onamae.com (R110-LRMS)
Registrant Name:Whois Privacy Protection Service by MuuMuuDomain
Registrant Organization:Whois Privacy Protection Service by MuuMuuDomain
Registrant Street1:2-7-21 Tenjin Chuo-ku
Registrant Street2:Tenjin Prime 8F
Registrant Street3:
Registrant City:Fukuoka-shi
Registrant State/Province:Fukuoka
Registrant Postal Code:810-0001
Registrant Country:JP
Registrant Phone:+81.81927137999
Registrant Phone Ext.:
Registrant FAX:+81.81927137944
Registrant FAX Ext.:
Registrant Email:privacy@whoisprivacyprotection.info
Admin ID:1392A617187
Admin Name:Whois Privacy Protection Service by MuuMuuDomain
Admin Organization:Whois Privacy Protection Service by MuuMuuDomain
Admin Street1:2-7-21 Tenjin Chuo-ku
Tech Name:Whois Privacy Protection Service by MuuMuuDomain
Tech Email:privacy@whoisprivacyprotection.info
Name Server:DNS0.HETEML.JP
Name Server:DNS1.HETEML.JP

 いきなりSEO業者さんの名前が出てくるのかと思ったけど、特におかしいところは無いですね。共通項があるとしたら お名前.comのGMOが出てくることくらいだけど、ドメインのリセラーでは大手なので、まぁありがちとも言えます。
 あとは、不動産屋さんのサーバー場所なんですが、lala-cake.comと同じ場所にあって、ドメイン情報を見るとまたムームードメイン。ムームーの中身はGMOなので結局全部一緒か。うーん。

サーバーの置き場所もぜんぜん統一感無いし、純粋にアクセスアップだけ請け負う業者さんに依頼したのかも知れませんね。


 今回のキーワードをgoogle トレンドで見てみると短期間で瞬間的にアクセスが発生したことが分かります。

Google トレンド キーワード「メタボ メンズエステラクシア」


アクセスのあった地域で見ると、1/8~1/9 で東京でのみ色がついてます。 かなりピンポイント。東京の人しか検索してない。

Googleトレンド 地域別




とりあえず出てくるサイトを片っ端から見て行こうかな…。




 上の方に出てくるサイトはみんな結構まとも。
 ちゃんとお店の宣伝をしてる。
けど、これ個人のブログだからここまで業者よりな案内はなんかねぇ。












 ちょっと下のランキングになると、とたんに変な文章に出くわす。これなんか日本語として成立してないくらいおかしい。





  よく見ると、右側の最近の記事一覧が…
あれ?

今日の急上昇ワードにある「フランク ザンボニー」「ソンミ」まで記事作ってる。
これは完全にプログラムが介在してると見て間違いなさそう。

デタラメな文章をgoogleでヒットした文字列を使って生成しているのか、それとも
 他に考えられる理由としては、急上昇ワードの一致率が高いとサイト順位が上がったりするとか?


 さらに他にも見て行きます。

これなんかは、エントリーのタイトルにエステ屋さんの名前があるけど本文はまるで関係ない記事。
タイトルはGoogleのランク付けに大きく影響してる部分なので、それ以外はどうでもいいっていうある意味割り切り型かな。







 これもタイトルのみで中身は全部同じ内容のコピー。



また、20ページ目くらいからは、日本語はめちゃくちゃなのに「てにをは」だけはシッカリしてるような、形態素解析のルーチンを持った駄文作成ツールでもあるんじゃないかと思わせられるページが延々と続きます。





 もう疲れたよ…パトラッシュ。いったい何件あるの? 

とヒット件数見たら3万件?
一つのサイト更新で3つ4つの更新ページがGoogleにリストされるとしても1万サイト近くあるんでしょうか。



これはさすがに見てらんないな。

トレンドの上昇タイミングを見ても1日くらいで更新をかけてることになるから、botを使って自動化しないと不可能。




 メンズエステ以外にはどんなこと書いてるのかと思って見たけど、特に商品の紹介というわけでもなさそう。


冒頭の  "歳をとると、目元のしわが気になったり顔のたるみが気になったり、髪の毛の色が気になったり様々なところが気に" で検索すると、ほぼ同内容のサイトが4760件登録されている。
 
手動だとしたら凄いなぁ。。








どうやら
 googleの順位を上げてくれるおじさんがどっかにいて、その人に頼むと、その人が持ってるブログとかサイト1万件くらいをプログラムで一気に更新かけて宣伝してくれる。
そんなところまでは判明しました。


botで思い出したけど、
少し前に特定のサイトを狙ったbot攻撃が話題になりました。
ウィルスに感染した数十万のクライアントが一斉に攻撃対象のサイトにアクセスしてサーバーをダウンさせるという手法です。

IRCから指示を出してたみたいですが、基本的にtelnetプログラムが動作してればIRCでもWebへのアクセスでもなんでも出来ますね。
まだやってるのか分からないけど、当時このbotを時間貸しでレンタルしてるクラッカーもいたみたいなので、興味がある人はTorの中とかで探してみては?


botとひとくくりに言ってしまうと、bot=悪と誤解する一部の人がいるかも知れないので念のため補足しておきますが、Twitter botや、Wikiの更新など、大量のデータを処理させるためのプログラムは今や当たり前に存在しています。

これらのプログラムを使ってgoogleの検索クエリーとか投げたりとかしてたりすると面白そうだなぁと思いました。


2008年6月4日水曜日

Burpsuite (Burp Proxy) の使い方


今日はよい子のためのWebセキュリティの講座です!
Web Vulnerability Scanners でいいのがリストされているページがあるので見ましょう。

http://sectools.org/web-scanners.html



 
このサイトにはセキュリティ関係のツールが
沢山紹介されています。
もちろん、全OS対象ですので安心です。

今日はこの中から6位にランキングされている
Burpsuite(バープスイート)というツールを導入
してみましょう。

Burpsuite : An integrated platform for attacking web applicationsBurp suite allows an attacker to combine manual and automated techniques to enumerate, analyze, attack and exploit web applications. The various burp tools work together effectively to share information and allow findings identified within one tool to form the basis of an attack using another.
訳:こいつはグレイトなツールだ! Webのアタックにも使えるぜ!ha-ha-ha-!



Burp suite のダウンロードは以下から行えます。
http://portswigger.net/suite/download.html

Windows版 http://portswigger.net/suite/burpsuite_v1.1.zip
Linux版   http://portswigger.net/suite/burpsuite_v1.1.tar.gz




今回はWindows版をダウンロードします。
解凍すると、左のようなファイル群が出てきます。
特にインストール作業は無いようですので、不要になればディレクトリごと削除して下さい。


ここで suite.bat を実行すれば burpsuite が動作するわけですが、今の段階では何も起こりません。
サイトをよく見ると

Burp Suite is a Java application, and runs on any platform for which a Java Runtime Environment is available. It requires version 1.5 or later. The JRE can be obtained for free from http://java.sun.com/j2se/downloads.html.
訳:バープスイートはJavaアプリだから、Java ランタイム v1.5以上 が無いと動かないんだよね。


と書いてありました。

JREが必要、というわけで、Java ランタイムを落とします。
sunのサイトを見るとバージョンがいろいろあって迷いますが、私はJava Runtime Environment (JRE) 6 Update 6 を入れました。
Java SE Runtime Environment 6 Windows Offline Installation






jre-6u6-windows-i586-p.exe (JRE 6本体)





jre-6u6-windows-i586-p.exe を実行するとインストーラーが起動します。
長いので説明は読まずに同意して下さい。







特にWindowsの再起動は必要ありません。
先ほどの suite.bat を実行すると、今度はDOSのウィンドウが開いてburpsuite が起動します。










●Burp Suite の設定方法


起動した直後の画面です。
基本的な機能としては

リクエスト
Webサーバ <----- BurpSuite <----- ブラウザー
応答
Webサーバ -----> BurpSuite -----> ブラウザー

といった具合に、ブラウザーとWebサーバの中間に立って、リクエストやデータを横取りしてしまおうという機能です。
もちろん BurpSuite 上で、サーバに渡る直前のデータを改変して渡すことも可能です。
一般的に、FORM からの送信内容をブラウザー側のJava Script で入力チェックをし、問題の無いデータをサーバに送信するといった仕組みも多く存在します。
そのような、ブラウザーでのエラー確認の機構をすり抜けてチェックをかけることができます。


まずはブラウザーの設定から

IE の
[ツール]→ [インターネットオプション]→ [接続]→ [LANの設定]
からプロキシーの設定をします。





Burpsuite は Proxy として動作します。
個別の環境で変更も可能ですが、下記のデフォルト設定でまず問題はありません。

■LANにプロキシーサーバを使用する にチェック
    アドレス  [ 127.0.0.1 ]
    ポート   [ 8080 ]


通常の環境であれば、設定は以上で完了です。


もし、あなたの環境が Proxy を使用しなければ Webサーバにアクセスできない場合は、Burpsuite の [ comms ] タブをクリックしプロキシーサーバを経由するよう設定を追加しましょう。

■ use proxy server  にチェックを入れる
   server [ プロキシーサーバのIP]
   port [ プロキシーにアクセスするためのポート]



   

Webサーバ <--- Proxy <--- Burpsuite <--- ブラウザ という構造になります。 ちなみに、うちの環境の場合だとこんな設定です。




●BurpSuite の使用方法



例として、ブラウザー上で Google.co.jp にアクセスしてみます。
URL に http://www.google.co.jp/ を指定して実行しますが、この時点ではブラウザー上に何も表示されません。







ブラウザーからの全ての要求は、Burpsuite で堰き止めているため
通過させたい場合には、[ forward ] ボタンを押さなくてはなりません。


特定のリクエストを廃棄したい場合には、[ drop ] ボタンを押します。
ブラウザーからリクエストがある度に、選択することになりますのでサイトによっては何十回も forward することになります。





では、
試しに、Google のテキストボックスに [ burp suite ] として検索実行してみて下さい。

intercept タブの中で、さらに params というタブがありますが
その中に今自分が入力した文字列を見つけることができるでしょう。




今回の場合、GET request 中の type URL q=burp+suite
という部分がそれです。

パラメータを直接ダブル・クリックして内容を改変してみましょう。

burp+suite +root99.blogspot.com

と入力し、 [ forward ] ボタンを押します。
Webサーバには、書き換えられた burp+suite +root99.blogspot.com の情報で送信されます。



Google の応答結果を見ると、検索内容が書き換わっていることがわかります。








インストールできた?
そしたらはやく俺の作業手伝って!!!

つづく

.