成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何保護網頁按鈕不被XSS自動點擊

安全 應用安全
在社交網絡里,很多操作都是通過點擊按鈕發起的,例如發表留言。假如留言系統有 XSS 漏洞,用戶中招后 XSS 除了攻擊之外,還能進行傳播 —— 它能自動填入留言內容,并點擊發表按鈕,即可發出帶有惡意代碼的留言。好友看了中招后,又傳播給他們的好友。。。從而形成蠕蟲擴散。

前言

XSS 自動點按鈕有什么危害?

在社交網絡里,很多操作都是通過點擊按鈕發起的,例如發表留言。假如留言系統有 XSS 漏洞,用戶中招后 XSS 除了攻擊之外,還能進行傳播 —— 它能自動填入留言內容,并點擊發表按鈕,即可發出帶有惡意代碼的留言。好友看了中招后,又傳播給他們的好友。。。從而形成蠕蟲擴散。

那么,有沒有一種機制,讓「發表留言」必須通過用戶的「真實點擊」按鈕才能完成,而無法通過腳本自動實現?這樣就能減緩蠕蟲傳播速度了。

實現

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

除非,用戶在點擊按鈕時會產生一個「特殊數據」,讓后端校驗它。

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

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

不過,這樣還不夠。假如 XSS 破解了這個「特殊數據」的生成規則,那么即可自己偽造一個,然后直接調用 HTTP 接口發表留言。所以,我們得找一個不可偽造的硬標識。

事實上,有個很簡單的辦法:我們干脆讓 HTTP 請求也通過 iframe 發送。這樣,后端通過 referer 即可檢測請求是否為 iframe 發起的。畢竟,XSS 是無法偽造 referer 的!

演示

Demo: http://www.etherdream.com/FunnyScript/anti-xssworm/

注意:這個案例不是看能不能注入 XSS,而是看能不能通過當前頁面的 JS 自動發留言!

另外,通過第三方服務器發表是不算的。這里為簡單,省略了登錄態;真實場合下,會話 Cookie 是 HttpOnly 的,無法被 JS 獲取到,也就無法讓第三方服務器代替發表。

細節:

  1. 使用者加載 safebutton.js,引入 SafeButton 類
  2. 使用者實例化 SafeButton 對象 A,創建出一個不同源的 iframe 作為按鈕界面
  3. 用戶點擊 iframe 按鈕后,內部變量 S 置為 true,同時將點擊消息告知主頁面(postMessage)
  4. 主頁面收到消息后,讓 A 產生 onclick 事件
  5. 使用者將 HTTP 請求數據,通過 A 的 send 方法扔給 iframe
  6. iframe 校驗內部變量 S:若為 true,則將數據通過 AJAX 發送;否則放棄
  7. 服務器校驗 referer:若為 iframe 的地址,則繼續業務邏輯;否則放棄
  8. iframe 收到 AJAX 返回后,將結果扔給主頁面
  9. A 產生 onreceive 事件,其中包含 HTTP 返回結果

其中 No.6 的步驟最為關鍵。正是這一步,使得未經用戶點擊,XSS 強制扔給 iframe 的消息變得無效!

如何保護網頁按鈕不被XSS自動點擊

當然,這個方案阻擋不了點擊劫持 —— XSS 可以把 iframe 元素放大至整個頁面,并設置全透明。

這樣用戶只要在頁面的任何位置點一下,iframe 的 S 狀態就變成 true 了,于是就能繞過 No.6。

結尾

當然,安全防御有勝于無。并且該方案的改造成本也不是很大,后端只是增加一個 referer 判斷而已;前端也只需改造個別按鈕,例如發帖按鈕,像點贊這種按鈕就沒必要保護了。

責任編輯:未麗燕 來源: FreeBuf.COM
相關推薦

2017-06-08 09:16:09

2009-08-07 18:30:35

2019-11-20 10:43:52

黑客網絡安全軟件安全

2019-10-29 05:00:58

黑客攻擊網絡安全

2009-03-09 09:39:00

2015-04-20 15:14:51

2020-06-23 08:04:46

SSL證書信息安全網絡安全

2011-08-22 14:04:52

2021-07-28 13:40:57

區塊鏈數據技術

2010-04-13 16:21:58

無線SSID廣播

2019-06-12 16:16:58

微軟漏洞NTLM

2018-04-11 09:00:00

2022-06-17 10:43:42

數據安全信息安全數據泄露

2011-05-04 18:25:51

2010-04-21 11:00:41

2010-01-12 12:29:54

網銀安全設備標識

2018-01-08 07:26:37

2020-01-08 21:26:15

物聯網DDoS安全

2012-11-07 15:24:01

2015-08-19 09:34:23

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩av一区在线观看 | 自拍 亚洲 欧美 老师 丝袜 | 国产一区二区视频在线 | 亚洲男人天堂 | www.中文字幕.com | 国产中文字幕在线 | 国产内谢 | 精品一区二区在线视频 | 伦理二区 | 成人免费在线播放 | 成人免费视频网 | 亚洲精品久久久久久国产精华液 | 久久精品免费 | 久久99精品久久久久久狂牛 | 欧美一级黄 | 日韩喷潮 | 午夜免费网站 | 国产成人免费视频网站视频社区 | 国内精品久久久久久久影视简单 | 亚洲国产69 | 国产91精品久久久久久久网曝门 | 国产精品视频一二三区 | 黄色网址免费看 | ww亚洲ww亚在线观看 | 特黄毛片 | 国产黄色大片 | 亚洲成人三区 | 日韩在线观看 | 欧美理论片在线观看 | 免费特级黄毛片 | 瑟瑟免费视频 | 久在线 | 久久手机视频 | 国产精品亚洲综合 | 九七午夜剧场福利写真 | 先锋av资源网 | 成人网在线 | 亚洲最新在线视频 | 久综合 | 成人av网站在线观看 | 97超碰人人草 |