Skip to content

Instantly share code, notes, and snippets.

View ooooooo-q's full-sized avatar
🖥️
コードを読む

ooooooo_q ooooooo-q

🖥️
コードを読む
View GitHub Profile
@mala
mala / gist:8857629
Last active October 29, 2019 00:35
Flashと特定ブラウザの組み合わせでcross originでカスタムヘッダ付与が出来てしまう問題が未だに直っていない話

2014-07-09 それぞれ修正されたのを確認したので追記します。

APSB14-17 で修正されたようです

筆者が把握している範囲で、最新版のFlash Playerを利用している場合に、(crossdomain.xmlもしくはユーザーの許可なしで)cross originでカスタムヘッダを付与する方法はありません。

Webサイト運営者は

@mala
mala / gist:9086206
Created February 19, 2014 04:49
CSRF対策用トークンの値にセッションIDそのものを使ってもいい時代なんて、そもそも無かった

概要

http://co3k.org/blog/csrf-token-should-not-be-session-id について。

この記事では触れられていませんが、

  • むかし、セッションIDをHTMLソース中に埋め込んでも脅威は変わらないと主張した人がいました
  • 正確には「hiddenの値のみ漏れやすいような特殊な脆弱性が無ければ」という前提であったけれど、実際にそのようなバグはあったし、予見されていた。
  • とても影響のある人だったので、色々なサイトや書籍がその方法を紹介し、安全なウェブサイトの作り方にも載ってしまいました

この際ハッキリ言っておくべきだと思うので書きますが、そもそもセッションIDを(HTMLソース中に埋め込む)CSRF対策トークンとして使うのは間違いでした。最初から間違っていたのです。正確に言うとCSRFの話は関係ないですね。CSRF関係なく、特に「単体で」セッションハイジャックが可能になるような値を、HTMLソース中に埋め込むべきではありません。

@Nkzn
Nkzn / git-mr-diff.rb
Last active March 16, 2022 23:32
Make a markdown list with a range of commits. http://qiita.com/Nkzn/items/60b30f1c9d0e33dfc424
#! /usr/bin/ruby
# The MIT License (MIT)
# Copyright (c) 2016-2019 Yukiya Nakagawa <[email protected]>
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OT
@zuzu
zuzu / execPost.js
Last active May 26, 2023 00:38
Formタグを作らずにJavascriptのみで通常のPOST送信をするための関数です。便利なのでgitsコード化して、どこでも使えるようにしておく。
/**
* データをPOSTする
* @param String アクション
* @param Object POSTデータ連想配列
* 記述元Webページ http://fujiiyuuki.blogspot.jp/2010/09/formjspost.html
* サンプルコード
* <a onclick="execPost('/hoge', {'fuga':'fuga_val', 'piyo':'piyo_val'});return false;" href="#">POST送信</a>
*/
function execPost(action, data) {
// フォームの生成

Based on excellent write-up from https://www.elttam.com.au/blog/ruby-deserialization/

Doesn't work to use YAML.dump(payload) in the above script. This only produces the following YAML, which is worthless:

--- !ruby/object:Gem::Requirement
requirements:
- - ">="
  - !ruby/object:Gem::Version
 version: '0'