ブックマーク / blog.ts5.me (9)

  • SQL Injectionシグネチャの更新 - 2015-05-07 - T.Teradaの日記

    気がつけば3年ぶりの日記更新となりました。 相変わらずWeb/スマホ等のセキュリティは続けてます。 そろそろバイナリもやろうかとも思い、IDA Proを購入してみました。 購入に際してはKinugawaさんの記事を参考にさせてもらいました。 ところで、最後に自作検査ツールについて書いてから6年ほど経ちました。 その間に細々とですがシグネチャの追加や変更を行ってきました。 またこのGW前後にも変更を加えましたので、それについて書こうと思います。 まずはSQL Injectionのシグネチャを取り上げます。 6年前の関連するエントリはこちらです。 2009-05-31 T.Teradaの日記 | 自作検査ツール - SQLインジェクション編 6年間に行われた変更の目的は、正確性と安全性の向上です。 正確性の向上は、False Positive/False Negativeの両方を減らすことを目

    SQL Injectionシグネチャの更新 - 2015-05-07 - T.Teradaの日記
    kogawam
    kogawam 2015/05/13
  • オープンリダイレクト検査:Locationヘッダ編 - T.Teradaの日記

    オープンリダイレクタを脆弱性とみなすべきかは議論が分かれるところです。Google等の一部のサイトは、自サイトのオープンリダイレクタを脆弱性としてはみていません。一方で、脆弱性検査の現場では、見つかれば脆弱性として報告することが多いと思います。 その辺の議論はおいておいて、オープンリダイレクタの検査は、ブラウザの特性もからんで意外とバリエーションが多くて面白いので、日の日記で取り上げてみたいと思います。 大まかにいうと、リダイレクトは、302応答のLocationヘッダ、Refresh(HTTPヘッダ、METAタグ)、JavaScriptによるものがありますが、日は302応答のLocationヘッダのリダイレクタについて取り上げます。 パターン1:サブドメイン部分に値が入る場合 以下のように、サブドメインの箇所が動的なケースです。 Location: http://{$u}.haten

    オープンリダイレクト検査:Locationヘッダ編 - T.Teradaの日記
    kogawam
    kogawam 2011/02/12
    HTTP Locationヘッダの籠絡。色々あって面白いなあ。
  • 他人のCookieを操作する - T.Teradaの日記

    脆弱性検査をしていてしばしば出くわすのは、他人のCookieの値を操作できるとXSSやセッション固定等の攻撃が成功するようなWebアプリケーションです。 このようなアプリがあると、業界的には「Cookie Monsterという問題がありまして、、、でも、、、基的に現状のブラウザではリスクは低いです」みたいな話がされることが多いのではないかと思います。 日の日記では、それ(Cookie Monster)以外にも状況によっては考慮すべきことがある、という話をしたいと思います(過去の日記でも少し書いた話ですが、もう少しちゃんと書いておこうと思います)。 通信経路上に攻撃者がいる 被害者のブラウザとサーバの通信経路上に、アクティブな攻撃者がいると想定しましょう。 そのような状況では、攻撃者は正規のサーバになりかわってブラウザと通信をしたり、ブラウザと正規のサーバで交わされる通信に介入することが

    他人のCookieを操作する - T.Teradaの日記
    kogawam
    kogawam 2011/02/07
    「(1)のCookieはHTTPでセットされたものですが、(2)のHTTPSのリクエストでサーバに送られてしまうということです。」←意識してなかったorz
  • GoogleのReward Program - 2011-02-06 - T.Teradaの日記

    少し前の話ですが、Googleが自身のWebサイトの脆弱性発見者に対して、報酬(現金 500 USD以上)を支払うプログラムをはじめています。 Google Online Security Blog: Rewarding web application security research 過去にも、脆弱性の発見者に報酬を支払うプログラムはありましたが、Webブラウザ等のソフトウェアの脆弱性が対象でした(参考)。 今回のプログラムでは、Webアプリの脆弱性が対象だというところが特色です。しかも、実際に運用されている番のGoogleサイトの脆弱性が対象です。その脆弱性の発見者に報奨金を払うということは、(一定の制約は設けていますが)基的に自由に番サイトの検査をしてよいといっているわけです。 実際にやってみる Webアプリの診断をやっているものにとっては、これ以上のお小遣い稼ぎはない!と思

    GoogleのReward Program - 2011-02-06 - T.Teradaの日記
    kogawam
    kogawam 2011/02/06
  • HTML PurifierのSecurity Fix - teracc’s blog

    HTML Purifierの4.1.1がリリースされました。今回のリリースには1件のSecurity Fixが含まれています。今日はその内容について少し書きます。 IEのCSSのurl()の扱い 以下のようなstyle属性があったとき、ブラウザはどのように解釈するでしょうか? <span style="background: url('http://host/aaa\'\);color:red;')">111</span> Firefox、Opera、Safariでは、「http://host/aaa');color:red;」というURIをもつbackgroundプロパティと解釈します。したがってcolorプロパティが有効になることはありません。これはCSSの仕様から見ても至極妥当な挙動です。 ところがIEだけが違う解釈をします。IEで上記のHTMLを表示させると、backgroundプ

    HTML PurifierのSecurity Fix - teracc’s blog
  • ASP.NETのセッション固定対策 - 2010-04-24 - T.Teradaの日記

    日は、ASP.NETでログイン機能をつくる際のセッション固定対策について書きます。 ログイン状態の管理には、ASP.NETが提供するセッション機構(ASP.NET_SessionId Cookie)を使っているとします。 ASP.NETでのセッション再生成 ログイン機能のセッション固定対策は、ログイン時に新たなセッションを開始することです。既存のセッションがなければ新たにセッションを開始し、既存のセッションがあるならばそのセッションは再生成されなければなりません。 しかし、ASP.NETはセッションを再生成する方法を提供していません。 それはJavaも同じなのですが、TomcatだとHttpSession#invalidateでセッションを無効化することで、セッションを再生成することができます*1。 ASP.NETでも普通に考えると、Session.Abandonという同等のメソッドを利

    ASP.NETのセッション固定対策 - 2010-04-24 - T.Teradaの日記
    kogawam
    kogawam 2010/04/25
    ASP.NETではログイン後の処理は次の方式だと思うが、ログイン時の処理自体を理解しようとすると頭混乱してきた。 (a)フォーム認証必須ディレクトリを設ける (b)(認証チケットに紐づいた)Userオブジェクトを見てauthorization
  • IE8のXSSフィルタが裏目に出る例 - 2009-06-22 - T.Teradaの日記

    IE8のXSSフィルタは、WebアプリにXSS脆弱性があったとしても、それが発動する可能性を減らしてくれるものです。 しかし、そのXSSフィルタが裏目に出るようなこともあります。 例えば、以下のような静的なHTMLファイル(test.html)を作ってWebサーバにおきます。 <h3>ie8 test</h3> <!-- 1 --> <script> var u=document.URL; </script> <!-- 2 --> <script> u=u.replace(/&/g,'&amp;').replace(/</g,'&lt;'); </script> <!-- 3 --> <script> document.write('URL:'+u); </script> 上のページは静的なページで、DOM Based XSSの脆弱性もありません。ですが、被害者のユーザがIE8を使っている

    IE8のXSSフィルタが裏目に出る例 - 2009-06-22 - T.Teradaの日記
  • XMLをparseするアプリのセキュリティ - 2009-06-21 - T.Teradaの日記

    「XML」「セキュリティ」という単語でWeb検索すると、多くヒットするのはXMLデジタル署名やXML暗号などを説明したWebページです。 日の日記では、それとはちょっと違うテーマ(XXEと呼ばれる攻撃)について書きます。 脆弱なコードと攻撃方法 さっそく脆弱性があるサンプルプログラムです。 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import org.w3c.dom.*; import org.apache.xerces.parsers.*; import org.xml.sax.*; public class Test1 extends HttpServlet { public void service(HttpServletRequest request, HttpServletRe

    XMLをparseするアプリのセキュリティ - 2009-06-21 - T.Teradaの日記
  • 趣味の検査ツール作成 - teracc’s blog

    ここのところ日記も書かずにいましたが、実は自前のWebアプリケーションの検査ツールを作るのに没頭していました。 作ったツールの特徴をいくつか挙げると、 手動検査の補助ツールの位置付け ツール自体がWebアプリ(PHPで8KL以下の分量) 主にインジェクション系の脆弱性を検出する それ自体にはプロキシ機能はない レポート作成用の機能はない のような感じです。 ツール自体は今のところ公開する予定はありませんが、一部のシグネチャについては(私が所属する会社固有のノウハウと思われる部分を除いて)日記に書いていこうと思います。

    趣味の検査ツール作成 - teracc’s blog
  • 1