2014 ADCTF 2日目 alert man

サイトに飛んでみると入力ホームが現れる。
問題はアラート(XSS)を出すという問題。
そこに入力すると自分が入力したものと同じものがbodyのid=1に追加されていく仕様になっている。
いつも通り最初にこれを試す

<script> alert(1) </script>

これを入力すると空白がかえってくる。そこで"script"タブが使えないということが分かった。
次に、

javascript:alert(1);


を試す。でもこれは、文字として認識されてしまってjavascriptが動かなかった。
ここで、タグが使えるかどうかを確認するために

<img src=x >

これを実行したら画像が壊れた。あとは、簡単

<img src=x onerror=alert(1)>

これで1を出力出来た。
同じ要領でXSSを出力させようと思ったら、できない
なんでと思って、ソースを見るそしたら、
t = tweet.replace(/['"]/g, '');
がでてきた。これによると、ダブルコーテーションとシングルコーテーションはなくなるようなので変更

<img src=x onerror=alert(/XSS/.source)>

これでXSSできてflagもゲット出来た。