‘今日の基礎体力’ カテゴリーのアーカイブ

攻撃的(?)なリクエストのサンプル

2010年4月21日 水曜日

いつもと毛色の違う攻撃的(?)なリクエストが・・・。
これだけでたいした悪さの出来るものではないところがいつもと違います。

脆弱性をテストするサンプルか!

スーパーグローバル変数 $_GET$_POST$_COOKIE$_SERVER['HTTP_*']
$_SERVER['REQUEST_URI'] あたりで得られる値をそのまま使ってると
なにか動作するものと推測出来ます。
クライアントから来る値を信用してはいけない。っていうわかりやすい見本です。
こういうのがあるので以下の2点は必ずやりましょう。

1.プログラムで使用する前に、想定内の値かどうか確認する。(バリデーション)
2.HTMLとして整形時に無効化する。(サニタイジング)

ちなみにこのリクエストは、
アプリケーションのバリデーションに引っかかったのではなく
こちらのフィルタにかかって、即ハネられたものです。
攻撃的?なリクエストをフィルタリングしてみる

設計段階でクライアントから受け取る値(文字)に制限を設けておけば
未知の攻撃に対してもこうした予防措置をとることが出来ます。

それにしても http://www.puritysearch.net/ は
うちのサイトの脆弱性テストでもしてるのでしょうか。
レポート(Japanese only)、気長にお待ちしてます。

攻撃的?なリクエストをフィルタリングしてみる

2010年4月3日 土曜日

PHPプログラミングを扱ってるからでしょうが
毎日なにかしらの攻撃的なリクエストがあります。

特定のURLに誘導するものとか、サーバーのコマンドを実行するものとか
SQLインジェクションとか、アプリケーションの脆弱性をつくものとか・・・
まあ、アクセスログにはいろいろと記録されてます。

4/2はこんな感じでした。
脆弱性をつく攻撃的なリクエストの図

攻撃者が、任意のコードやコマンドをうちのサーバーで
なんとか実行させようと試みてるのがみてとれます。

うちのサイトでこのようなリクエストは全部 Error404 ってことになり、
レスポンスにボディーは無し、コマンドも実行されることもありません。
今日は攻撃的なリクエストのフィルタリングについて書いてみます。
(続きを読む…)

掲示板スパムを5秒でノックアウト

2010年3月24日 水曜日

昨夜 Spamp の Bata5 をアップしたばかりだけど、気づいてしまったのだ。

掲示板(コメント)スパムボットには
フォームのリクエストから投稿があるまで
大抵1~3秒、長いものでも4秒までという投稿パターンがある。

これを応用して Spamp の セッション判定では
例えセッションが成立してても、あらかじめ設定した「待ち時間」を
経過しない投稿はスパムと判定しているんだけど、
掲示板スパムボットがCookieを送受することを逆手にとって
Cookieにも「待ち時間」を適用できるってことに気づいてしまったのだ。

フォームのリクエスト時にCookie送信。
この時 Cookieには タイムスタンプ を記録。

投稿のあった際、Cookie のタイムスタンプと現在時刻を比較し
待ち時間が経過してなければスパムと判定。

5秒あればスパムをフィルタリングできてしまいます。
これならSpampを使わずともいろんな掲示板に応用できる。
PHPに限らないし、改造もメチャ簡単。
フォームがあるものなら掲示板スパム・コメントスパムに限らずいけます。

SpampではCookieの整合性チェックもやってるので
もしタイムスタンプが改ざんされてもスパムと判定出来ます。
Cookieがなければスルーしてるけど
次はセッションの方でスパムを判定できます。

取り急ぎ、この判定コードを4行書き足してっと、アップし直しました。
Cookie、Javascript、Sessionに依存しないのが特徴。
掲示板スパム対策 ライブラリ Spamp Bata 5.1

掲示板スパムボット報告 – AHoo+C

2010年3月7日 日曜日

掲示板スパムボット対策に新しいフィルターを試してます。
が、設置3日で不覚にも突破されました。
原因は、isSpam() が全く反対の判定結果を返してました。
こういうのがあるから先にテストケースを書くべきなんですね。

それにしても、設置から丸3日間は
投稿フォームを収集しに来た形跡が無かったことを考えると、
スパム投稿を防げることに加え、リクエストすら来なくなるので
Javascript等で投稿フォームを隠しておくことが
どれほど有効なのか良くわかります。

こんな対策を施してます:
JavaScript でスパム投稿対策
積極的なスパム投稿対策

ひさしぶりのスパム投稿なのでこの機会に
AHoo+C(勝手に命名)という掲示板スパムボットが
どんなやつなのかプロフィールをご紹介します。
(続きを読む…)

GoogleのCM見た

2009年11月25日 水曜日

ついさっき、はじめて Google のTV CM をみた。
検索サービスそのもののCMってところがスゴイ。

「Yahoo」は知ってても「Google」は知らんという人は
身近にもまだいるので、日本における
GoogleとYahooの力関係に影響でるだろうな。

Yanooの認知度からすると
Googleほどの費用対効果は得られんだろうけど
負けじと Yahoo も TV CM やるだろうな。

こちらのビデオがCMで流れてます。
さがそう。検索ワードでつくる30秒の「検索ストーリー」

掲示板スパムのリクエストを75%カット

2009年5月31日 日曜日

JavaScript でスパム投稿対策 でやってるダミーのURLを
http://127.0.0.1/ にしてみてはどうかと思ったものの
違うホストに飛ばした時のリスクが読めなかったので、
試しにココのサーバに掲示板スパムの受け口を設け
PHPの基礎体力掲示板からのスパム投稿を待ってたところ
実施して5日間、みごとに1件も投稿がありませんでした。

掲示板スパムボットは、違うホストに投稿してこない(仮説)

これなら ダミーのURLを http://127.0.0.1/ にしても
他に迷惑をかける心配はありません。

AHoo+C と名づけてたスパムボットは
1回のフォームの収集につき3回ほど投稿してきてたので、
こいつのリクエストを約75%カット、投稿も0件です。

ここしばらく、掲示板スパムのリクエストそのものを減らすことを
テーマにやってきて、実を結んだのを少し感じられました。

投稿フォームと投稿先のURLを隠しておく方法やAHoo+C の特徴などは
積極的なスパム投稿対策 にまとめてあります。

他に踏絵方式のホワイトリストによるフィルタリングを試験中ですが
これが出来上がれば掲示板スパムボットは100%撃沈です。

私は掲示板を認証制にしたくない。
敷居の低いパブリックな掲示板がやっぱり好きなんです。