HTTPヘッダについての調査(4/?)

1回目、2回目、3回目、の続き。前提条件はこれまでと同じ。 ブラウザ以外で処理されるヘッダ 前回のHTTP/2についての記事の中でCGIのStatusヘッダに少し触れたので、ブラウザ以外(サーバやリバースプロキシ)で処理される応答ヘッダについて書く。その種の…

HTTP/2におけるHTTPヘッダインジェクション

前記事でHTTP/2の話が出たので、ちょっと脱線して「HTTP/2におけるHTTPヘッダインジェクション」に関連して行った実験について書く。既に何年も前に語られているように(abend氏, yasulib氏)、HTTP/2では「ヘッダの区切り文字」という概念は無くなっている…

HTTPヘッダについての調査(3/?)

1回目、2回目の続き。前提条件はこれまでと同じ。 代替サービス (Alt-Svc) ChromeとFirefoxは、代替サービス(Alternative Services, RFC7838)のAlt-Svcヘッダをサポートしている。下が正常なAlt-Svc応答ヘッダの例である。 Alt-Svc: h2="example.jp:443"; …

試しにPro版に切り替え

はてなブログを試しにPro版に変えてみました。 今さらながら独自ドメイン使ってみようかと思ったのと、記事が殆どGoogle検索にインデックスされないことに気が付いたからです(インデックスされないのは無料版だからなのか、よく分からないですが)。 少なく…

HTTPヘッダについての調査(2/?)

前回の続きのエントリ。前提条件は前と同じ。 CSRF (Refresh, Link, Content-Security-Policy) ヘッダが入るページを起点として、同じオリジンの他のページにCSRFできないか?という文脈の話。トークンで対策しているなら攻撃の可能性は無いが、SameSiteのCo…

HTTPヘッダについての調査(1/?)

HTTPヘッダインジェクションにおいて使えるヘッダについて調べてみた。ヘッダ内の挿入箇所から改行2つで応答ボディに抜けられないことはしばしばあって、そういう場合は基本的にヘッダだけで何とかしなければならない。そういう状況が主な想定ケースであるが…

リダイレクトとSame-Site Cookie

調べものをしている中で、今さらながらSame-Site Cookieの仕様書を斜め読みした。ググって最初に見つけた仕様の中で、same-siteは下のように定義されていた。 A request is "same-site" if its target's URI's origin's registrable domain is an exact matc…

読書

夏と言えば…ということで、ホラー小説です。お孵り (角川ホラー文庫)作者:滝川 さりKADOKAWAAmazon★★ 読んだことが無い作者のものをということで選んでみた。田舎の因習もののホラー。気味悪さはあるが、もう少し怖さが欲しかった。リカ作者:五十嵐貴久幻冬…

Network Error Logging

HTTPヘッダインジェクションにおいて何ができるか?というのを数年ぶりに整理している。整理作業の中で見つけたものの1つは、ネットワークエラーを検出して報告するNEL(Network Error Logging)という仕組み。以下はNELの応答ヘッダの例。NEL: {"report_to"…

MITREからCVE番号を取る

ソフトウェア製品の脆弱性を開発元に報告しても、CVE番号を振ってくれないことがしばしばある。そういう時は、報告者自身でもMITREにCVEを請求できる。CVE - Common Vulnerabilities and Exposures (CVE)昨年夏に、Laravel(PHPのWebアプリケーションフレー…

読書

最近は、本読んで、テレビで五輪見て…、という生活になってきた。神坐す山の物語 (双葉文庫)作者:浅田次郎双葉社Amazon★★★★ 御嶽山(みたけさん)の神官の屋敷を舞台とした、霊的な不思議な昔話。霊的と言っても、呪いだ何だというホラーではなく、御岳山の…

瑞江のドンキの屋上より

昨日はブルーインパルス目当てで、瑞江のドン・キホーテの屋上に上がったら、意外と人が集まっていた。 スカイツリー(かなり遠い)方面に、わずかに飛行機の編隊と飛行機雲が見えた。 写真撮ったが、雲が多いので全く分からない…

開会式のドローンショー

平昌の冬季五輪でもドローンによるショーをやっていたようだが、私は今回初めてみたのでビックリした。さらにインテルが担当したと聞いて、そんなビジネスもやってるんだということにも驚いた。ショーに直接関連しそうなものとしては、インテルには以下のよ…

ALPACA

alpaca-attack.comドイツの大学の研究者による研究。MITM前提のSSL/TLSのクロスプロトコル攻撃。マフラー巻いてるキャラクターもいい。

CSP bypass

少し前に公開されたものだが、PortswiggerのDaily swig経由で見つけた、MSの小勝さんが報告したChromeのCSP bypassバグについて。やられる側は例えば下記のようなページ。nonceのCSPを使っている。 <meta http-equiv="content-security-policy" content="script-src 'nonce-testrandom'"> <body> ← エスケープ無し </body> 攻撃者は以下のようにiframeを挿入し</meta>…

業界

ierae.co.jp www.ubsecure.jp

読書

Webブラウザセキュリティ Webアプリケーションの安全性を支える仕組みを整理する作者:米内貴志ラムダノートAmazonFlatt securityの米内氏による、クライアント=ブラウザに特化したセキュリティ本。すごく幅が広いトピックだが、想定読者であるWebアプリ開発…

特許に見る診断技術

WebアプリのDASTツール(スキャン技術関連)の日本国特許について少し調べました。面白そうな出願がいくつかあったので下にまとめてみます。 権限周りの診断 ①特開2020-071637(2018年出願) イエラエセキュリティ/Archaic ②特許6636222(2017年出願) 三菱…

6年ぶりのHatenablogの記事

Blogを公開状態に戻しました。 今年度から会社の勤務をパートタイムにしました。個人時間での諸々はこちらに書くつもり。

SQL識別子の扱い

SQLの検査方法について書いた勢いで、SQLの識別子の扱いについて書いてみます。議論としては、1年以上前に結論が出ている話ですw間違いだらけのSQL識別子エスケープ | 徳丸浩の日記徳丸さんの記事では、テーブル名が外部から指定可能な設定で説明がされてい…

SQL Injectionシグネチャの更新

気がつけば3年ぶりの日記更新となりました。相変わらずWeb/スマホ等のセキュリティは続けてます。そろそろバイナリもやろうかとも思い、IDA Proを購入してみました。購入に際してはKinugawaさんの記事を参考にさせてもらいました。ところで、最後に自作検査…

久々に更新

1年以上時間があいてしまいました。 今後はたまーにAndroidやWebのセキュリティの話でも書こうかと思います。

loopback

http://127.0.0.1/ と同じ意味となりうるURL。ブラウザでアクセスするというよりは、HTTPクライアントとして機能するWebアプリに食わせます。(一部のサーバ環境でしか動かないものもあります。) http://127.0.0.1/ 普通の表記 http://127.0.1/ 2,3番目のバイ…

最近買った本

Web Application Obfuscation: '-/WAFs..Evasion..Filters//alert(/Obfuscation/)-'作者: Mario Heiderich,Eduardo Alberto Vela Nava,Gareth Heyes,David Lindsay出版社/メーカー: Syngress発売日: 2010/12/10メディア: ペーパーバック クリック: 105回この…

オープンリダイレクト検査:Locationヘッダ編

オープンリダイレクタを脆弱性とみなすべきかは議論が分かれるところです。Google等の一部のサイトは、自サイトのオープンリダイレクタを脆弱性としてはみていません。一方で、脆弱性検査の現場では、見つかれば脆弱性として報告することが多いと思います。…

他人のCookieを操作する

脆弱性検査をしていてしばしば出くわすのは、他人のCookieの値を操作できるとXSSやセッション固定等の攻撃が成功するようなWebアプリケーションです。このようなアプリがあると、業界的には「Cookie Monsterという問題がありまして、、、でも、、、基本的に…

GoogleのReward Program

少し前の話ですが、Googleが自身のWebサイトの脆弱性発見者に対して、報酬(現金 500 USD以上)を支払うプログラムをはじめています。Google Online Security Blog: Rewarding web application security research過去にも、脆弱性の発見者に報酬を支払うプロ…

属性値のXXE攻撃

以前、属性値でのXXE(Xml eXternal Entity)攻撃を試したのですが、やり方がよく判りませんでした。最近また試してみて、属性値での攻撃方法が判ったので日記に書いてみます。 Servletプログラム 以下のようなJava Servletプログラムをサーバに置きます。 i…

JavaScriptの文字列リテラルでXSS

たまに以下のようにJavaScriptの文字列リテラルに値が入るアプリを見ることがあります。 <script> var foo="●"; ... </script> 値は「●」の箇所にHTMLエスケープされて出力されます(下の方の例も同じ)。こんなケースでどうXSSするか?という話です。 簡単にXSSできるケース …

HTML PurifierのSecurity Fix

HTML Purifierの4.1.1がリリースされました。今回のリリースには1件のSecurity Fixが含まれています。今日はその内容について少し書きます。 IEのCSSのurl()の扱い 以下のようなstyle属性があったとき、ブラウザはどのように解釈するでしょうか? <span style="background: url('http://host/aaa\'\);color:red;')">111</span> Firefo…