[發明專利]一種對抗XSS攻擊的方法在審
| 申請號: | 201711428031.7 | 申請日: | 2017-12-26 |
| 公開(公告)號: | CN108171051A | 公開(公告)日: | 2018-06-15 |
| 發明(設計)人: | 張偉榮;季統凱 | 申請(專利權)人: | 國云科技股份有限公司 |
| 主分類號: | G06F21/55 | 分類號: | G06F21/55;G06F8/20 |
| 代理公司: | 北京科億知識產權代理事務所(普通合伙) 11350 | 代理人: | 湯東鳳 |
| 地址: | 523808 廣東省東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 按鈕 跨站腳本攻擊 腳本創建 網站安全 對抗 服務端 合法性 同源 網頁 檢測 | ||
本發明涉及網站安全技術領域,具體涉及一種對抗XSS攻擊的方法。本發明所述的方法是通過腳本創建一個提交按鈕放在不同源的iframe中,通過iframe中的提交按鈕提交父頁面的表單,服務端通過檢測referer是否由iframe發起判斷提交合法性。本發明解決對外開放的網頁表單提交功能容易受到跨站腳本攻擊(XSS)的問題。
技術領域
本發明涉及網站安全技術領域,具體涉及一種對抗XSS攻擊的方法。
背景技術
目前網站的表單很多都是通過點擊提交按鈕發起的,例如提交評論、發布留言。如果留言系統有XSS漏洞,用戶中招后,除了基本攻擊外,XSS還會自動填入留言內容并模擬點擊提交按鈕發布帶有惡意代碼的留言。其他用戶看到中招后又傳播給其他用戶,從而形成蠕蟲擴散。
發明內容
本發明解決的技術問題在于提供一種對抗XSS攻擊的方法,解決原來對外開放的網頁表單提交功能容易受到跨站腳本攻擊(XSS)的問題。
本發明解決上述技術問題的技術方案是:
所述的方法是通過腳本創建一個提交按鈕放在不同源的iframe中,通過iframe中的提交按鈕提交父頁面的表單,服務端通過檢測referer是否由iframe發起判斷提交合法性。
所述的方法具體包含以下幾個步驟:
步驟一、父頁面初始化,通過腳本創建一個提交按鈕,放在不同源的iframe中;
步驟二、用戶點擊iframe的提交按鈕,設置變量clicked為true,同時通知父頁面;
步驟三、父頁面收到消息后,將表單數據發送到iframe并調用iframe頁面的提交方法;
步驟四、iframe頁面的提交方法檢驗變量clicked,如果為true,則將父頁面發過來的數據通過Ajax發送;
步驟五、服務端接收數據,檢驗referer,如果為iframe的地址,則檢驗通過,否則提示數據來源錯誤;
步驟六、iframe頁面的提交方法收到服務端返回數據后,將結果發送回父頁面;
步驟七、父頁面處理收到的返回數據,如果成功則提示提交成功,如果失敗則提示詳細錯誤。
本發明的有益效果:在頁面中通過腳本創建提交按鈕,放在不同源的iframe中,這樣就和XSS所在的環境隔離了,XSS無法訪問到這個提交按鈕也就無法模擬點擊提交惡意代碼。而且通過iframe提交父頁面的表單,服務端通過referer即可檢測請求是否由iframe發起的,這樣就算XSS破解上一道防線,通過直接調用http接口提交數據,XSS也無法偽造referer。采用這種方法可以實現對抗XSS攻擊的目的。本發明有效解決了對外開放的網頁表單提交功能容易受到跨站腳本攻擊(XSS)的問題。
附圖說明
下面結合附圖對本發明進一步說明:
圖1為本發明的方法流程圖。
具體實施方式
如圖1所示,本發明采用如下步驟:
步驟一、父頁面初始化,通過腳本創建一個提交按鈕,放在不同源的iframe中,父頁面url為“http://www.test.com/form.html”,iframe的url為“http://cross.test.com/proxy.html”;
步驟二、用戶點擊iframe的提交按鈕,設置變量clicked為true,同時通知父頁面;
步驟三、父頁面收到消息后,將表單數據發送到iframe并調用iframe頁面的提交方法;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國云科技股份有限公司,未經國云科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711428031.7/2.html,轉載請聲明來源鉆瓜專利網。





