Skip to content

Instantly share code, notes, and snippets.

@mala
mala / CVE-2019-5418_is_RCE.md
Last active Mar 22, 2019
Rails の CVE-2019-5418 は RCE (Remote code execution) です
View CVE-2019-5418_is_RCE.md

Rails の CVE-2019-5418 は RCE (Remote code execution) です

前置き

  • これは休日に書いた記事で所属している組織とは一切の関係がない。

概要

  • CVE-2019-5418 は実際のところ高確率でRCEなのだが File Content Disclosure という聞き慣れない名前で公表されて、CVE-2019-5419 で DoSが出来るという内容になっている
  • やあ、脆弱性の開示方法というのは実際に難しい問題だ、広範に使われていて影響範囲が甚大になるようなソフトウェアの脆弱性となると、具体的な攻撃コードを載せるなと言う人が多いのはよく分かる。
  • しかしながら、影響範囲についてまでも、不正確な記述がされてしまっている。これは悪い傾向だと自分は思う。これは配慮の結果なのか? それとも無知の結果か?
@mala
mala / nwc.md
Created Jan 15, 2019
次世代Webカンファレンス 2019 振り返り
View nwc.md

次世代Webカンファレンス 2019 振り返り

  • この文章に関しても所属組織とは関係のない個人の見解です

所感など

  • 本当に全く打ち合わせをしていないので、話題が分散しがちだったかもしれない。
  • せっかくの所属組織とは無関係のレギュレーションなので、具体名を上げてガンガン治安の悪いことを言うつもりだったのだけど、直前に「具体的な企業名は避けましょう」と言われて若干遠慮した。
  • マズいことをガンガンしゃべる覚悟で来たので、防刃ベストを着ているが、特に出番は無かった。トイレにも行った。
  • 本当は話す予定だったトピックについて、いくつかは、別途private gistに書く。
@mala
mala / CVE-2018-0691.md
Last active Oct 15, 2018
CVE-2018-0691 プラスメッセージにおける証明書検証不備について
View CVE-2018-0691.md

CVE-2018-0691 プラスメッセージにおける証明書検証不備について

  • https://jvn.jp/jp/JVN37288228/

  • 平日の業務時間内に見つけた問題である関係で(自分ルールで)所属を入れていますが、他社サービスに対する調査や報告は業務とは一切関係のない個人の活動として行っています。

  • 文責はmala個人にあります。お問い合わせなどありましたら個人宛にどうぞ。TwitterのDMや任意の文字列 @ma.la

概要

@mala
mala / e.md
Created Apr 25, 2017
アプリの信頼とサービス運営者の信頼の話
View e.md

もう5年も前の話になっていたのだけど、Echofon(Twitterクライアントの一つ)の件を今更だけど書かねばならない。

当時、Echofonのプッシュ通知を管理するサーバーの認証機能に欠陥があり(というか認証が無く) 他のEchofon利用者に対して送られるpush通知(DMやreplyなど)を横取りすることが出来た。

このセキュリティホール自体は素早く修正されたのだけど、この件をきっかけに、クライアント/サーバーの境界線が曖昧になっている、という問題を強く意識するようになった。

@mala
mala / o.md
Created Apr 21, 2017
Orarioについての雑感
View o.md

調べたこと

通信をキャプチャして調べた。似たようなことをしている人が既にいて仕組みについてはサービス提供者側が説明されているとおりだった。

IDパスワードはネイティブUIで表示して、html中のどこに入力するかなどはリモートから受信するjsで定義している。特に難読化や独自の暗号化などがされているわけではない。

@mala
mala / autofill_ui.md
Last active Jan 19, 2017
暮らしに役立つITコラム ChromeやSafariの自動入力機能が、なぜ「悪いデザイン」なのか
View autofill_ui.md

見た目の上で、隠されているフィールドに対しても自動入力してしまうという問題が話題になっている(2017年1月)

のだけれど、この問題の歴史はとても古い。自分も調査したり問題を報告したりしているので、振り返ってみる。

2012年の話

2012年4月のShibuya.XSS #1 https://atnd.org/events/25689 で、Hamachiya2が発表した

@mala
mala / yapcjapan2016_lt.md
Last active Dec 29, 2016
5分でわかる Perl and web security
View yapcjapan2016_lt.md

5分でわかる Perl and web security

ma.la


CSRFとかXSSとか

  • CSRF: フレームワークの機能使って下さい
  • XSS: Xslateとか自動エスケープして下さい、jsの動的生成はするな
  • 終わり
@mala
mala / 00.md
Created Dec 9, 2016
サンドボックスドメイン上に書き込まれたcookieを使ったWeb訪問履歴漏洩やfingerprintingについて
View 00.md

要約

  • サンドボックスドメイン上に記録されたcookieを使って、ユーザーの限定的な訪問履歴を取得したり、検索キーワードを取得することが可能です。
  • 検索エンジンや翻訳サービスなどで、他のサイトのコンテンツをproxyして表示する機能があると、単独では問題がないJavaScriptによるcookieを読み書きするコードが、同一のdomain上で実行されることになり影響が大きくなる場合があります。
  • 4年前に報告したものですが、今でも影響があり、多くのサービスは未対策または対策が不完全です。

対策

@mala
mala / app.js
Last active Apr 26, 2017
markdownで書かれた複数のスライドをwebsocketで同期して表示するやつ
View app.js
var express = require("express");
var app = express();
var expressWs = require('express-ws')(app);
app.use(express.static(__dirname + '/public'));
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
app.ws('/state', function(ws, req) {
ws.on('message', function(msg) {
View gist:92e60ca794284304b6383bb2a2019db2
拡張機能、live http headers, http headersにポリシー違反の挙動があります。
https://gist.github.com/mala/e87973df5029d96c9269d9431fcef5cb
https://chrome.google.com/webstore/detail/live-http-headers/iaiioopjkcekapmldfgbebdclcnpgnlo
https://chrome.google.com/webstore/detail/http-headers/mhbpoeinkhpajikalhfpjjafpfgjnmgk
- 拡張機能の background js に対して、難読化されたscriptが埋め込まれています。
- webサイトに対して(chrome.tabs.executeScript) 外部のjsコードを挿入します。この機能はユーザーに対しては説明されていません。
- webサイトに対して実行されるscriptは、少なくとも広告やURLのtrackingが含まれています。サイトによって挙動が変わったり、後から変更される可能性があります。
- setTimeoutによって非常に長い時間(24時間以上) 経過した後に有効化されています。
You can’t perform that action at this time.