ペンギン男の生活@気になるのは、海外SEOとYOGAとお天気

Web方面では、SEOだけでなく、事業計画やファイナンスといったWebビジネスを柔軟に支えるナレッジもカバー。身体方面では、ヨガだけでなく、ストレッチも加えたエクササイズのナレッジを積み上げていきます。なお、体調に大きく影響する他のトピック、例えば天気の話題も時折絡めます。

【Webセキュリティの教科書②】「クッキー機能プラスα」と、典型的な攻撃パターンの一つ「SQLインジェクション」

こんにちは、ペンギン男です🐧

セキュリティというと暗号技術なんかもカバーしていると聞いたので、そんな側面からも関心ありました。しかし、そんなことに着手できるのは、先の先のようです💦小さいことからコツコツとです(by 西川きよし師匠)

Web担当者のためのセキュリティの教科書

Web担当者のためのセキュリティの教科書

 

出典はアマゾンさん。

 

 

 

(ページネーションはkindleでの表記に従います) 

 

クッキーの機能を少しだけ掘り下げ。expire属性とsecure属性以外の属性。

「属性」というと、なんだか特殊な語感ありますが、ここでは、「機能」くらいの意味合いです。これだけ耳にするクッキーなので、残りの属性も併せて紹介。ただし、httpOnly属性以外は、セキュリティ目的には、直接関係ないようです。

  •    
  • domain属性→クッキーが送信されるドメインを指定する属性。しかし、サブドメインに送信されてはいけないクッキーを使いたい場合は、ドメイン指定はダメなのだとか。あんまり使い勝手が良さそうには思えませんが、もしかしたら、それなりに古い技術なのかも。
  •    path属性サブドメイン以下にクッキーが送信されるような制限をしたい場合に使用。domain属性だとクッキーが送信される範囲が大きいので、それを限定した用途のよう。
  •    httpOnly属性JavaScriptからクッキーの値を使用できなくなります。

クッキー技術は奥が深そう。クッキーだけで本が一つ書けるのでは💦

 

脆弱性を悪用する代表的な攻撃手法を二つ

クロスサイトスクリプティング

No.75

Webサイトを経由してユーザーにブラウザ上で動作する不正なスクリプトを送り込む攻撃のこと。

ちなみにHTMLなどの静的ページは対象外で、動的ページが問題になるようです。

例を一部割愛して挙げてみると

①http://zeijaku.comにマルウェアを仕込む↓

②http://kougeki.netにユーザーがアクセス↓

③上記②のトップページに次のソースを打ち込む↓

④<a href=“http://zeijaku.com/komatta l.cgi?name=<script>alert(“hello”);</script>ここをクリック</a>↓

⑤ユーザーがhttp://kougeki.net上の「ここをクリック」というリンクをクリックすると、http://kougeki.netからhttp://zeijaku.comに遷移↓

⑥http://zeijaku.comで、ユーザーが新規に入力した内容を、そのまま盗む

とにかく、アンカーテキストを活用して、マルウェアを仕込んだサイトに呼び込む手口。

 

SQLインジェクション

SQL機能を利用して、パスワードなどを書き換えて、情報漏洩などを狙う手口。

No.80

SELECT * FROM USER_DB WHERE usid =‘nakayama’ AND pass=‘12345678’ OR ‘1’ = ‘1’

「OR ‘1’ = ‘1’」によって、入力内容が常に「真」となり、「なかやま」さんで、パスワードが「12345678」の方の情報が抽出されてしまいます💦

 

HTTPレスポンス上のクッキー関連用語

セキュリティというと、どうしてもネットワーク系のナレッジが必要になります。しかし、ネットワーク系の学習をしようとなると、かなりな熱量が必要となること予想されるので、極力、クライアント側のだけで収めてきました。とはいえ、サーバとのやりとりの無視は出来ないし、その記録であるHTTPレスポンスはある程度読めたほうがよいのは確か。

ここでは、自分の備忘録の意味合いもあって、クッキー関連だけ抽出。

No.93

NAME=VALUE→クッキーにつける名前とその値

Expires=DATE→クッキーの有効期限(とくに指定のない場合はWebブラウザ終了時まで)

Max-Age=DATE→クッキーの残存寿命を秒数で指定(Max-Age=100なら100秒後にクッキー消去)

Domain=DOMAIN→クッキーの適用対象となるドメイン名(特に指定のない場合は、クッキーを生成したWebサーバーのドメイン名)

SecureHTTPSで通信している場合のみクッキーを送信する

httpOnly→クッキーをJavascriptからアクセスできないよう制限する

 

最後に

あまり手を広げ過ぎても、作業が追いつかないのは分かるのですが、こういう内容に触れると、多かれ少なかれ、急いでネットワーク系のナレッジは齧っておいたほうが良いような洗脳を受けます💦

 

また、次回

 

#Web担当者のためのセキュリティの教科書

#クッキー

#クラスサイトスクリプティング

#SQLインジェクション