OWASP Japan 2 nd local chapter meeting Short talk of XSS Jun Yosuke HASEGAWA 短いXSSの話
One day ある日
As always surfed websites, いつものように Web を眺めてると …
Just the usual XSS was found. いつものように XSS が見つかった。
First of all, view-source: とりあえず HTML ソース
What!? なにこれ !?
XSSed <!--"). SOURCE: System.Web FORM:" /> XSSed <!--"). SOURCE: System.Web FORM:" /> XSSed <!-- 不要なエラーメッセージが引き起こした XSS
Microsoft “live.com” Over https Needless error message Interesting but not really matter now 興味深いけれど今はどうでもいい
Why not “alert” ? なんで alert じゃないの ?
alert is common knowledge for XSSers alert は僕らの常識
Reason 理由
XSSed <!--"). SOURCE: System.Web FORM:" /> XSSed <!--"). SOURCE: System.Web FORM:" /> XSSed <!-- 最大 22 文字 > XSSed <!--
> XSSed <!--… 19 letters 22 文字以下で XSS させるのは難しい > alert(1) … 26 letters > eval(name) … 28 letters
XSS で任意のコードを動かすには何文字必要 ?
by Gareth Heyes
XSS Golf
<x/x=&{eval(name)}; Netscape 4 19 letters 22 letters
Go back to the XSS 話を例の XSS に戻して
XSSed <!--"). SOURCE: System.Web FORM:" /> XSSed <!--"). SOURCE: System.Web FORM:" /> XSSed <!-- 最大 22 文字 > XSSed <!--
Impossible? No! 不可能?そんなことはない!
IE は "URL" プロパティを持っている > … 21 letters // Trap page created by attacker // or use window.open from JavaScript // Trap page created by attacker // or use window.open from JavaScript Mario Heiderich’s work
できた !! XSS Filter is disabled
22 文字あれば任意のコードが実行可能 "> 20 letters 22 letters 17 letters Run arbitrary code in 22 letters
10 letters eval(name) to run arbitrary code 9 letters eval(URL) 8 letters URL=name 6 letters $(URL) 任意コードを実行する最小の JavaScript
NetAgent OWASP Japan 2 nd local chapter meeting Question? @hasegawayosuke