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 / gist:5231689
Created Mar 24, 2013
Crawler Memo #1
View gist:5231689

概要

  • フィードを更新するためのAPIがあると便利です
  • クローラを別ホストで動かしたり、別言語で書いたり、特殊用途向けのクローラが書きやすくなります。
  • 管理者向けメリット: クロールを外部サービスに分離できる
  • ユーザー向けメリット: APIに直接POSTしてフィードじゃないものを読めるようになる
  • サイト運営者向け: 将来的なこと考えるとフィードを各々好き勝手クロールする状況は効率が悪い → 更新のタイミングでPush

既存の事例

  • Bloglinesには専用のメールアドレスを発行してそこにメール送るとフィードとして読めるみたいな機能があった。
  • メール送る → 読める シンプルで万国共通、でもSMTPは面倒くさい
View gist:5162105
メモ
全体的なこと
- 想定してるRubyとかRailsのバージョンが古いので何とかしたい。
- 個人的に改造してる人がそれなりにいるので、その辺まとめたい。
- github/livedoor もあるんだけど、そこにadmin権限持ってるユーザー好き勝手追加は怖いので別で + コミュニティ主導でやりたい
- html/js/css も割と古くなってしまっているので、そのへんも何とかしたい。
----
オープンソースに拘るのは保険的な意味合いもあるのだけど、
サービス型のRSSリーダーで出来無いことがそれなりにあるというのが大きい。
View gist:5114952
https://bugzilla.mozilla.org/show_bug.cgi?id=844622#c6
CORSのwithCredentials付いてるときはどうする、という話題
ジョナサンメイヤー:
「new policyと同様に、既にcookieを持ってるなら緩和する、これでいいんじゃないの」
「もう一つはwithCredentials付けてる時にはcookieの新規セットを緩和するようにする案。
これは良くないアプローチだし、そもそも必要かどうかわからないが。サードパーティCookieをセットする抜け穴になるだろう。
Safariのフォーム送信のように。Safariではいくつかのウェブサイトがそれを濫用した。」
@mala
mala / gist:5114296
Created Mar 8, 2013
Firefoxのフィッシング/マルウェアブロックが有効かどうか検出するコード
View gist:5114296
<script>
var now = Date.now();
var phishing;
var malware;
var p_loaded = false;
var m_loaded = false;
</script>
<script src="http://www.mozilla.org/firefox/its-a-trap.html" onerror="phishing=Date.now()-now;p_loaded=true"></script>
<script src="http://www.mozilla.org/firefox/its-an-attack.html" onerror="malware=Date.now()-now;m_loaded=true"></script>
<script>
@mala
mala / gist:5108900
Created Mar 7, 2013
攻撃者が生パスワードまず復元できないだろという状況でも全ユーザーのパスワードリセットしたほうが良い10の理由
View gist:5108900

Evernoteの話ですけど。「強固なパスワード暗号化技術を採用」していて、攻撃者がまず生パスワード復元できないだろう、という状況であっても、パスワードリセットはしたほうがいい。

2011年のLastpassのケースでは、強固なパスワード使っている人は大丈夫だけど、そうじゃない場合はブルートフォースでマスターパスワード取得されうるということを発表していた。これはハッシュ値生成のアルゴリズムが、既知 or 推測しやすい or ソースコードも含めて漏洩している、という時にこの状態になる。

"If you have a strong, non-dictionary based password or pass phrase, this shouldn't impact you - the potential threat here is brute forcing your master password using dictionary words, then going to LastPass with that password to get your data. Unfortunately not everyone picks a master password that's immune to brute forcing."

で、Evernoteのケースは「弊社は強固なパスワード暗号化技術を採用しておりますが」と言っている。

@mala
mala / gist:5107120
Last active Jul 26, 2019
TwitterのOAuthの問題の補足とか
View gist:5107120

https://gist.github.com/mala/5062931

の続き。

Twitterの人に色々と問題点は伝えたんだけど、これからOAuthのサーバー書く人や、クライアント書く人が似たような問題を起こさないようにするために、どうすればいいのかについて簡単に書きます。既存の実装真似して作るとうっかりひどい目にあう。

自分は意図的に「Twitterの脆弱性」という表現を使わないように気を使っていて、それはクライアントアプリ側の責任もあるからなのだけれども、安全に実装するための方法がわかりにくかったり誤解を招きやすかったり、Twitterに買収されているTweetDeckにも問題があったりしたので、それはやっぱりTwitter側の責任の比重が大きいとは思う。とはいっても別に責任を追求したかったり◯◯はクソだといったことを言いたいわけではなく、誰が悪いとか言う以前に、複合的な要因によって問題が起きるときには原因を正しく理解する必要があると思う。

そもそも何を担保に安全性を保証しているのか

  • サーバー側で秘密の鍵を持っている(それが無いとアクセストークンを取得できない or 使えない)
@mala
mala / gist:5096954
Last active Jul 8, 2019
Google Safe Browsing と埋め込みリソースの関係
View gist:5096954

検証環境 Firefox19.0 / Chrome 27.0.1425.0 / Safari 6.0.2

攻撃サイトとして報告されているURLを(hosts書き換えて) 読み込むとどう反応するか。それぞれアドレスバーに直接入力だとブロック。

Chromeの場合

  • 画像: リクエスト自体行わない、派手な警告を出す
  • script: リクエスト自体行わない、派手な警告を出す
  • iframe: リクエスト自体行わない、派手な警告を出す

Firefoxの場合

@mala
mala / gist:5062931
Last active Jan 25, 2019
TwitterのOAuthの問題まとめ
View gist:5062931

どういう問題があったか

説明するのめんどい http://vividcode.hatenablog.com/entry/twitter-oauth-vulnerability

どういう対策がされたか

とりあえず即座に攻撃できるような状態ではなくなっています。

フィッシング?

@mala
mala / safari-like-cookie-policy-is-too-bad.md
Last active Jul 11, 2019
Firefox 22のCookieに関するポリシー変更(予定)についての意見書
View safari-like-cookie-policy-is-too-bad.md
View gist:5002784
このLEMONってのがrapgeniusの人ね。
http://cache.gyazo.com/91f2e906a220fbeef2e9283b0aee597a.png
Unicorn使っても2workerで動いているところに遅いリクエストが3件来たら詰まるよ!!
根本的な解決にならない!!
とか言ってるんですよ。
じゃあ例えば、並列数1x10と並列数2x5で遅いリクエスト5件投げてキューに詰まる確率を考えてみよう。
絵で表すとこう。絵じゃなくて文字だけど。
You can’t perform that action at this time.