記一次有意思的XSS繞過之奇葩的中文尖括號

記一次有意思的XSS繞過之奇葩的中文尖括號

記錄一個我實戰中遇到的比較有意思的XSS繞過,過濾方式比較奇葩,把">"變為了中文的尖括號">",導致插入頁面的xss payload不能被瀏覽器解析,但是經過一番測試無意間發現了一種繞過方式,構造方法比較特殊,在這分享一下~奇葩的過濾

過濾方式如下

記一次有意思的XSS繞過之奇葩的中文尖括號

可以看到對輸入的">"過濾是將變為了中文的尖括號">",這樣的話瀏覽器在解析html標籤時,由於標籤無法正常閉合就會出現語法錯誤而導致xss payload無法被瀏覽器解析執行,加上頁面可以利用的輸出點只有這一個位置並且在DOM的文本節點,所以在構造xss的時候符號">"是必不可少的bypass,繞過其實也很簡單,構造payload如下

記一次有意思的XSS繞過之奇葩的中文尖括號

這一點的構造思路正是用到了中文尖括號">"在瀏覽器解析時不能被瀏覽器識別的特點,這樣的話會被瀏覽器當成img標籤的src屬性的屬性值,也就是一個錯誤的圖片資源,導致後面span標籤的逃逸,於是span標籤的閉合了img標籤,xss payload執行

記一次有意思的XSS繞過之奇葩的中文尖括號

記一次有意思的XSS繞過之奇葩的中文尖括號


分享到:


相關文章: