前言

XSS 自動(dòng)點(diǎn)按鈕有什么危害?

在社交網(wǎng)絡(luò)里,大多操作都是通過點(diǎn)擊按鈕發(fā)起的,例如發(fā)表留言。

假如留言系統(tǒng)有 XSS 漏洞,用戶中招后 XSS 除了攻擊之外,還能進(jìn)行傳播 —— 它能自動(dòng)填入留言內(nèi)容,并點(diǎn)擊發(fā)表按鈕,即可發(fā)出帶有惡意代碼的留言。好友看了中招后,又傳播給他們的好友。。。從而形成蠕蟲擴(kuò)散。

那么,有沒有一種機(jī)制,讓「發(fā)表留言」必須通過用戶的「真實(shí)點(diǎn)擊」按鈕才能完成,而無法通過腳本自動(dòng)實(shí)現(xiàn)?這樣就能減緩蠕蟲傳播速度了。

實(shí)現(xiàn)

這個(gè)想法聽起來好像不可行:如果發(fā)表留言需要帶上用戶行為信息,那么 XSS 完全可以偽造一份行為數(shù)據(jù),后端根本無法識(shí)別。

除非,用戶在點(diǎn)擊按鈕時(shí)會(huì)產(chǎn)生一個(gè)「特殊數(shù)據(jù)」,讓后端校驗(yàn)它。

但是,XSS 也可以直接調(diào)用按鈕元素的 click 方法,這樣效果和用戶點(diǎn)擊仍然一樣。后端仍無法識(shí)別,是腳本點(diǎn)的,還是用戶點(diǎn)的。

這么看來,我們只能保護(hù)好這個(gè)「按鈕元素」,讓它沒法被 XSS 訪問到。例如,放在一個(gè)不同源的 iframe 里,這樣就和 XSS 所在的環(huán)境隔離了!

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式