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 / CVE-2013-4710.md
Created Dec 17, 2013
CVE-2013-4710 JVN#53768697 に関するメモ
View CVE-2013-4710.md

CVE-2013-4710 JVN#53768697 に関するメモ

検証用URL

経緯と関連するリンク

View gist:7939659
# 私が考える安全なプログラムを書くために必要なこと
今も昔も「入力によって挙動が大幅に変わるAPI」が世の中には多数存在していて、プログラマが本来意図した挙動と異なる動作を引き起こしている。
- ファイルを開こうとしたらコマンドを実行できてしまったり
- CSSセレクタを書いてるつもりがHTMLタグを生成してしまったり
- SELECT文を発行するつもりがDELETE文を発行できてしまったり
こういったときに
- 入力値検証をしないと危険になる
View postMessageLogger.user.js
window.addEventListener("message", function(e){ console.log(e) });
@mala
mala / gist:7747918
Created Dec 2, 2013
SECCON2013 CTFのスロットマシーン
View gist:7747918

SECCON2013 CTFのスロットマシーン

  • まず普通に何回か動かしてみる
  • デバッガで処理止めたり、XHRのリクエストをcopy as curl(Chormeの機能)でコピーして叩いてみたり。
  • この時点でスロットで何の数値が出ているかはリクエストに含まれていないことが分かった。
  • betした段階ではコインが減らず、finishのリクエストを送るとコインが減る。
  • じゃあ、スロットで当たった時だけfinishのリクエストを送るように改造してやればいいはずだ。
@mala
mala / gist:5882869
Created Jun 28, 2013
htn.to デフォルトリダイレクト先変更に寄せて
View gist:5882869

もう皆すっかり忘れてると思うんだけど、2009年ごろに特定の検索エンジン(具体的にはGoogleね)が、 URLの中にURLが入ってるようなのを一律検索結果から除外するといったことがあった。

既存のURLをパラメータとして受け取って、際限なくコンテンツ生成するようなものは、Googleの検索結果から除外されることになった。 (キャッシュとか変換とか翻訳とかそういうのは自主的にrobots.txtやmetaタグで検索結果から除外されるようにすべきだと思う)

ソーシャルブックマークの場合は、単に変換したり翻訳したりしているわけではなく、付加的な情報があるわけだけど そんなことをわざわざGoogleが特別扱いはしなかった。単にURLの中にURLが入ってるものは除外された。

View gist:5876335
$ curl -A "Mozilla iPhone like Mac OS X" -I http://www.smartnews.be/s/CuIXI
HTTP/1.1 200 OK
Content-length: 2657
Content-Type: text/html;charset=UTF-8
Date: Thu, 27 Jun 2013 13:19:57 GMT
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=02CD3E97EC187F45AF08FCB9BAABDB25; Path=/; HttpOnly
Vary: Accept-Encoding
Connection: keep-alive
View gist:5728696
あなたは
2005年 合計10,488円分
2006年 合計240,565円分
2007年 合計307,968円分
2008年 合計413,407円分
2009年 合計135,520円分
2010年 合計158,169円分
2011年 合計60,435円分
2012年 合計30,120円分
2013年 合計56,181円分
@mala
mala / gist:31109de84afdf5f0c528
Created Apr 25, 2013
SWFUploadのXSSとWordPressの修正方法の問題
View gist:31109de84afdf5f0c528
概要
WordPressが修正したつもりになってたSWFUploadのXSSの修正方法が不完全で最新版でもまだある。
http://wordpress.org/news/wp-includes/js/swfupload/swfupload.swf#?movieName=SWFUpload_0&buttonText=%26lt%3Ba%20href%3D'javascript%3Aalert(location)'%26gt%3Bclickhere%26lt%3B%2Fa%26gt%3B
----
届出ステータス
- 2013-04-24 security at wordpress.org
- 2013-04-25 IPA, Neal Poole氏
----
@mala
mala / gist:5268998
Last active Dec 15, 2015
データをpostMessageで受け渡すセッション限りのトークン取得(取得しない)フロー
View gist:5268998

一瞬popup + 以降iframeでproxyするようなもの。XHR level2いらないのでやや動作環境が広がる。

  • クライアント側ボタンクリックで window.open + ランダムなid(これをclient_id相当にする)の名前をつけてiframe埋め込み
  • popup windowにiframeの名前をpostMessageで送る
  • サーバー側: popup windowはiframeに対してpostMessageで返信(event.source.frames.xxxx)、api-domainのoriginであることを確認、cookieで認証してランダムなidとセットで使えるトークン発行
  • トークン保存はmemcachedなど揮発性のストレージで良い。使っている限り期限が延長される。最長期限があってもよい(あったほうがよい)
  • ログアウトとセットで破棄されるようになっていると良い
  • iframeはポップアップwindowからメッセージを受け取る。ランダムなid + トークンを使ってAPIにアクセスする。
  • iframeは親windowからメッセージを受け取る。あとはpostMessageでproxyしてXHRのリクエスト、レスポンスをやり取りする。
  • iframeは親windowからのメッセージであることをevent.originを使って検証する
You can’t perform that action at this time.