Skip to content

Instantly share code, notes, and snippets.

mala mala

Block or report user

Report or block mala

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@mala
mala / memcachedos.pl
Created Aug 13, 2010
DoS for memcached
View memcachedos.pl
#!/usr/local/bin/perl
# DoS tool for memcached
# ulimit -n 15000; perl memcachedos.pl 127.0.0.1 11211 3
# original: http://gist.github.com/522741
# This is Public Domain Software
use strict;
use warnings;
use AnyEvent;
@mala
mala / e.md
Created Apr 25, 2017
アプリの信頼とサービス運営者の信頼の話
View e.md

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

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

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

@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) {
@mala
mala / o.md
Created Apr 21, 2017
Orarioについての雑感
View o.md

調べたこと

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

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

@mala
mala / gist:82074a542d703247a481
Created Aug 5, 2014
Storableからの任意コード実行脆弱性についての調査
View gist:82074a542d703247a481

Storableからの任意コード実行脆弱性についての調査

概要

  • HTTP::Cookies と DBI::ProfileDumperを使う
  • HTTP::Cookies は LWPの依存モジュールで、DBI::ProfileDumperはDBIに付属している。どちらもインストールされている可能性が非常に高い

HTTP::Cookies の autosave 機能で任意ファイルにcookiejarが保存される。 DBI::ProfileDumper もDESTROY時のflushでファイルに書きこむ。存在しているファイルへの追記であれば比較的自由なフォーマットでファイルに書き込み可能。

@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 / 00.md
Created Dec 9, 2016
サンドボックスドメイン上に書き込まれたcookieを使ったWeb訪問履歴漏洩やfingerprintingについて
View 00.md

要約

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

対策

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時間以上) 経過した後に有効化されています。
View gist:4c45169891302e8d4a970fb4ad13134e
プライバシーとはデータ自体の公開、非公開の制御ではない。
- データ自体の公開、非公開には大した意味がなく、リンクこそが情報の本質である
- 自己に関する情報のコントロールが失われることが、プライバシーの侵害である
1. データ自体が秘密の情報ではない
情報の性質
- 明確に本人以外には秘密にしなければならないもの → 例: パスワード
- 住所 → 単体では単なる文字列、住民基本台帳調べれば出てくる、その土地に実際に行けば調べられる
@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の動的生成はするな
  • 終わり
You can’t perform that action at this time.