CookieのSameSite属性 概要 Cookieに新たにSameSite属性というものが提案され、主要なブラウザで実装が進んでいる。 かつてはFirst-Party-Only Cookieと呼ばれていたもの。 https://tools.ietf.org/html/draft-west-first-party-cookies-05 クロスオリジンへのリクエスト送信時にCookieを付与しないことで、予期せぬ形での情報漏洩を... Jun 24, 2018
gixyでNginxの設定ファイルの脆弱性を検査する Nginxでは設定に不備があるとSSRFやHTTP Response Splittingなどの脆弱性が生じる。 例えば以下のような感じだとHTTP Response Splittingが生じる。 server { listen 6789 default; location ~ /v1/((?<token>[^.]*)\.json)?$ { add_header X-Actio... Jun 2, 2018
Reactで安全にMarkdownをHTMLレンダリングする ユーザー入力値をMarkdownとして受取り、HTMLとしてレンダリングしたい場面は少なくない。 当然ながらHTMLとして出力するため、onerrorやhref属性などは適切にサニタイズしなければならない。 import React, { Component } from 'react'; import marked from 'marked'; import Pr... Mar 24, 2018
GitLab XSS via .ipynb GitLabにXSSがあったので報告した。 https://about.gitlab.com/2018/01/16/gitlab-10-dot-3-dot-4-released/ 上記リンクのJupyter Notebook XSSというやつ。 PoC 以下の内容のipynbファイルを作成する。 ipynbファイルの実態はJSONである。 { "cells": [ { ... Mar 23, 2018
大学を卒業した 2018/3/17無事に大学を卒業した。 良い機会なので4年間を振り返る。 1年目 プログラミングとかセキュリティに入学当時から興味を持ってはいたものの、ARとかMRとか、もっと実世界に直接影響をあたえるようなことがしたいなーみたいなのを思って情報学部に入った。すぐ興味は失せたが… 5,6月ぐらいにTwitterでセキュリティ・キャンプというものがあるという情報を得たので応募するた... Mar 21, 2018
機密情報の比較処理、secure_compareの実装について ActiveSupport::SecurityUtils.secure_compareやRack::Util.secure_compareについてメモ。 文字列が等価であるかどうか確認するのにa == bという風に書くことが多い。 しかし、機密情報の比較にこの形式を用いると、処理に要する時間からアルゴリズムが特定されたり、機密情報自体が漏れる可能性がある(所謂、Timing Attack)。 例え... Mar 9, 2018
最近のJavaScriptフレームワークでのXSS 所謂、最近流行っているJavaScriptフレームワークでのXSSの例をいくつか挙げようと思う。 最近のJavaScriptフレームワークは賢いので、データをバインドする際にHTMLエスケープしてくれてXSSから保護してくれる。 しかしながら、保護が適用されないケースもあるため、過度にフレームワークに信頼しているとXSSを作り込んでしまう。 ここではReactとVue.jsでその例をいくつか挙げよ... Mar 5, 2018