<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

跨站攻擊解決方法、移動終端及存儲介質與流程

文檔序號:11253947閱讀:770來源:國知局
跨站攻擊解決方法、移動終端及存儲介質與流程
本發明涉及瀏覽器
技術領域
,尤其涉及跨站攻擊解決方法、移動終端及存儲介質。
背景技術
:跨站腳本攻擊(crosssitescripting,xss)是一種利用web網頁漏洞的網絡攻擊方式。攻擊終端采用在web網頁中輸入包含惡意代碼的信息的方式,向應用服務器中的應用程序發送包含惡意代碼的訪問請求,使得該應用程序在接收該訪問請求之后生成一個包含惡意代碼的web網頁,從而在web網頁中插入惡意代碼。當用戶終端打開該web網頁時,執行該web網頁中的惡意代碼,該惡意代碼往往用于實現從用戶終端惡意盜取信息等網絡攻擊行為,從而攻擊終端完成對用戶終端的網絡攻擊,針對跨站腳本漏洞,目前常用的解決方法是通過硬編碼來過濾特殊字符從而得到文件解決,但是這種做法有很大的弊端,就是涉及的頁面比較多,工作量非常大,而且沒有統一的寫法,維護起來也非常混亂。技術實現要素:本發明的主要目的在于提出一種跨站攻擊解決方法、移動終端及存儲介質,旨在解決跨站腳本攻擊漏洞的問題。為實現上述目的,本發明提供的一種跨站攻擊解決方法,所述方法包括步驟:接收輸入的數據;判斷是否開啟數據轉義功能;若是,則獲取鼠標的操作事件;根據標簽綁定的操作事件,對所述輸入的數據進行轉義;輸出轉義后的數據。可選地,在所述接收輸入的數據之前,所述方法還包括:生成自定義標簽。可選地,所述生成自定義標簽,包括:設置自定義標簽類;創建標簽庫描述文件;加載所述標簽庫描述文件;在服務器頁面的頭部引入所述標簽庫。可選地,所述設置自定義標簽類,包括:為所述標簽綁定至少一個事件;對所述標簽屬性進行賦值。可選地,所述對所述數據進行轉義,包括:判斷所述輸入的數據是否包含預設字符;若是,則返回轉義后的數據;若否,則返回與所述輸入的數據對應的結果。可選地,當判斷未開啟數據轉義功能時,則輸出與所述輸入的數據對應的結果。可選地,所述操作事件包括支持鼠標事件、獲取焦點事件、失去焦點事件、點擊事件。可選地,所述方法還包括:顯示所述轉義后的數據;或者,隱藏所述轉義后的數據,并顯示提示框。此外,為實現上述目的,本發明還提出一種移動終端,所述移動終端包括處理器、存儲器,所述處理器用于執行存儲器中存儲的跨站攻擊解決程序,以實現上述的方法。此外,為實現上述目的,本發明還提出一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執行,以實現上述的方法。本發明提出的跨站攻擊解決方法、移動終端及存儲介質,通過接收輸入的數據,當判斷開啟數據轉義功能時,獲取鼠標的操作事件,并根據標簽綁定的操作事件,對所述輸入的數據進行轉義,進而輸出轉義后的數據,對于包含惡意字符的輸入數據來說,由于對該輸入數據進行了轉義,惡意字符被轉義為瀏覽器不能執行的代碼,這就避免了有心之人通過惡意字符獲取用戶的個人資料等信息,高效地解決了跨站攻擊問題,通過對轉義規則進行更新和升級,使得維護和擴展起來十分靈活和方便,提高了瀏覽器的安全性,保障了用戶的權益。附圖說明圖1為本發明第一實施例提供的跨站攻擊解決方法的流程示意圖;圖2為本發明第一實施例提供的跨站攻擊解決方法的子流程示意圖;圖3為本發明第二實施例提供的跨站攻擊解決方法的流程示意圖;圖4為本發明第二實施例提供的跨站攻擊解決方法的子流程示意圖;圖5為本發明第三實施例提供的跨站攻擊解決方法的流程示意圖;圖6為本發明第四實施例提供的移動終端框圖。本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。具體實施方式應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。現在將參考附圖描述實現本發明各個實施例的智能終端。在后續的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。請參照圖1,為本發明第一實施例提供的跨站攻擊解決方法,所述方法包括步驟:步驟110,接收輸入的數據。具體地,接收用戶在瀏覽器的文本框輸入的數據。示例性地,該數據可以是用戶名、密碼、域名等。進一步地,本實施例中的瀏覽器為終端上的瀏覽器。終端可以以各種形式來實施。例如,本發明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數字廣播接收器、pda(個人數字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導航裝置等等的移動終端以及諸如數字tv、臺式計算機等等的固定終端。步驟120,判斷是否開啟數據轉義功能。若是,則進入步驟130,若否,則進入步驟150。具體地,先根據方法參數判斷是否需要轉義,如果需要轉義,進入步驟130;如果不需要轉義,則進入步驟150。步驟130,根據標簽綁定的操作事件,對所述輸入的數據進行轉義。具體地,根據實際需要將標簽綁定不同的操作事件,綁定的事件可以是支持鼠標事件、獲取焦點事件、失去焦點事件、點擊事件等等,支持的事件可以查看w3網站元素事件列表。請參照圖2,步驟130進一步包括:步驟210,判斷所述輸入的數據是否包含預設字符。若是,則進入步驟220,若否,則進入步驟230。具體地,通常情況下,用戶在使用瀏覽器時,輸入的是字母和數字這類的字符,也就認為字符和數字的字符是善意字符,從而在設置預設的字符時,認為特殊字符是惡意字符。例如:<、>、"、‘、’、(空格)等。當判斷用戶輸入的數據包括特殊字符,則認為輸入的數據中包含惡意字符,并進入步驟220,若不包括特殊字符,則進入步驟230。在本實施例中,采用上述方法設置惡意字符,在其他實施例中,還可以設置其他單一字符或者組合字符作為惡意字符,本申請在此不做具體限制。步驟220,返回轉義后的數據。具體地,若判斷用戶輸入的數據包含預設的字符,則按照預設的轉義規則對特殊字符進行轉義,也就是說,當判斷輸入的數據包含預設的特殊字符時,則認為出現了惡意字符,為了避免執行惡意字符的操作結果,就需要對輸入的數據進行轉義,生成不能被執行的編碼,以起到了解決跨網站攻擊的效果。轉義對照表如表1所示。表1轉義前的字符轉義后的字符<&lt>&gt&&amp"&quot(空格)&nbsp通過表1中的轉義規則,當識別到包含預設字符的輸入數據時,自動將輸入的數據轉義為非執行的編碼并顯示轉換后的文本內容,避免了執行惡意代碼為用戶的信息泄露。步驟230,返回與所述輸入的數據對應的結果。具體地,若判斷用戶輸入的數據中沒有預設的字符,則認為不存在惡意字符,進而返回用戶輸入的數據,并執行相應的代碼。步驟140,輸出轉義后的數據。具體地,根據轉義對照表1的轉義規則,將輸入的數據中帶有惡意字符的部分輸出轉義數據,將輸入的數據中帶有善意字符的部分直接輸出,并執行與輸入的數據對應的結果。進一步的,若輸入的數據中包含惡意字符,則根據設置,顯示轉義后的數據。進一步的,若輸入的數據中包含惡意字符,則根據設置,隱藏轉義后的數據,并顯示提示框,以提醒用戶重新輸入數據。這樣一來,一方面預防了因用戶不小心輸入了帶有惡意字符的數據時,給用戶重新修改的機會,另一方面杜絕了有心之人輸入惡意數據攻擊網站而引發的后果。步驟150,輸出與所述輸入的數據對應的結果。也就是說,在該步驟中,由于未開啟數據轉義功能,即使輸入的數據包含惡意字符,也無法對輸入的數據進行轉義,而是直接輸出并執行與輸入數據對應的結果。示例性地,以標簽綁定的是失去焦點事件為例,對本發明的跨站攻擊解決方法作進一步說明:步驟1,接收用戶a輸入的數據<script>window.location.href="xxxx";</script>;步驟2,在用戶輸入上述數據后,檢測到失去焦點事件;步驟3,判斷數據中包含特殊字符<、>、"等,則根據表1中的轉義對照表對數據進行轉義;步驟4,返回轉義后的數據為&lt;script&gt;window.location.href=&quot;http://xxx&quot;&lt;/script&gt;步驟5,在瀏覽器顯示對上述字符轉義后的文本內容。本實施例的跨站攻擊解決方法,通過接收輸入的數據,當判斷開啟數據轉義功能時,獲取鼠標的操作事件,并根據標簽綁定的操作事件,對所述輸入的數據進行轉義,進而輸出轉義后的數據,對于包含惡意字符的輸入數據來說,由于對該輸入數據進行了轉義,惡意字符被轉義為瀏覽器不能執行的代碼,這就避免了有心之人通過惡意字符獲取用戶的個人資料等信息,高效地解決了跨站攻擊問題,通過對轉義規則進行更新和升級,使得維護和擴展起來十分靈活和方便,提高了瀏覽器的安全性,保障了用戶的權益。請參照圖3,本發明第二實施例進一步提出一種跨站攻擊解決方法,所述方法包括步驟:步驟310,生成自定義標簽。具體地,請參照圖4,步驟310進一步包括:步驟410,設置自定義標簽類。具體地,先創建自定義標簽類,該標簽類通過重寫父類dostarttag或者doendtag來實現。例如,欲生成的標簽是<html:inputtextisescape=”true”name=”username”id=”user_name”>,該標簽以文本框的形式顯示在界面上,該標簽可以是用戶名和密碼的文本框,其中,定義類全限定名為com.nubia.userdefinedtag,并封裝<inputtype=text/>標簽,封裝該標簽在dostattag方法中生成。步驟420,創建標簽庫描述文件。具體地,創建標簽庫文件主要是指定標簽的名稱、指定標簽的實現類、以及標簽的屬性,其中,標簽的名稱可以根據實際需要定義。示例性地,以標簽<html:inputtextisescape=”true”name=”username”id=”user_name”>舉例。其中,標簽名稱為:inputtext。標簽實現類為:com.nubia.userdefinedtag。標簽屬性為:isescape。步驟430,加載所述標簽庫描述文件。具體地,在數據庫中的web.xml文件中配置標簽庫文件,以便在瀏覽器啟動后加載標簽庫文件。步驟440,在服務器頁面的頭部引入所述標簽庫。具體地,可以引入標簽庫<%@tagliburi="/tld/web-html"prefix="html"%>。在頁面上就可以使用標簽<html:inputtextisescape=”true”name=”username”id=”user_name”>。其中,isescape作為是否對輸入數據進行轉義的方法參數。若需要轉義輸入數據,則將isescape的值設置為true,不需要轉義就可以設置為false。步驟320,接收輸入的數據。步驟330,判斷是否開啟數據轉義功能。若是,則進入步驟340,若否,則進入步驟360。步驟340,根據標簽綁定的操作事件,對所述輸入的數據進行轉義。步驟350,輸出轉義后的數據。步驟360,輸出與所述輸入的數據對應的結果。上述步驟320-360的內容與步驟110-150的內容相同,對于相同的內容,本實施例則不再贅述。本實施例的跨站攻擊解決方法,通過預先生成自定義標簽,從而根據自定義標簽綁定的事件,對用戶輸入的數據進行轉義。請參照圖5,本發明第三實施例進一步提出一種跨站攻擊解決方法。在第三實施例中,所述跨站攻擊解決方法是在第二實施例的基礎上所做出的進一步改進,區別僅在于,所述設置自定義標簽類,包括如下步驟:步驟510,為標簽綁定至少一個事件。具體地,以<html:inputtextisescape=”true”name=”username”id=”user_name”>舉例。首先,給原始標簽:inputtype=text綁定事件,比如綁定的是焦點失去事件,那么處理后的標簽就是<inputtype=”text”onfocusout=”invokeesacpe(isescape)”>。步驟520,對所述標簽屬性進行賦值。具體地,還是以<html:inputtextisescape=”true”name=”username”id=”user_name”>舉例。根據<html:inputtextisescape=”true”name=”username”id=”user_name”>標簽中的屬性生成標簽,屬性name、id都是inputtype=text固有的屬性,只需要把屬性值設置到原始標簽屬性上即可,則處理后的標簽是<inputtype=”text”name=”username”id=”user_name”onfocusout=”invokeesacpe(isescape)”>。本實施例的跨站攻擊解決方法,通過為標簽綁定至少一個事件,并對標簽屬性進行賦值,以設置自定義標簽。本實施例的跨站攻擊解決方法使用方便、用法簡單、擴展簡單、且實現簡單,提高了整體的高效性和安全性。本申請第四實施例還提供了一種移動終端,如圖6所示,該移動終端包括處理器610以及存儲器620;所述處理器610用于執行存儲器620中存儲的跨站攻擊解決程序,以實現以下步驟:接收輸入的數據;判斷是否開啟數據轉義功能。若是,則根據標簽綁定的操作事件,對所述輸入的數據進行轉義并輸出轉義后的數據。若否,則輸出與所述輸入的數據對應的結果。具體地,接收用戶在瀏覽器的文本框輸入的數據。示例性地,該數據可以是用戶名、密碼、域名等。進一步地,本實施例中的瀏覽器為終端上的瀏覽器。終端可以以各種形式來實施。例如,本發明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數字廣播接收器、pda(個人數字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導航裝置等等的移動終端以及諸如數字tv、臺式計算機等等的固定終端。根據實際需要將標簽綁定不同的操作事件,綁定的事件可以是支持鼠標事件、獲取焦點事件、失去焦點事件、點擊事件等等,支持的事件可以查看w3網站元素事件列表。根據轉義對照表的轉義規則,將輸入的數據中帶有惡意字符的部分輸出轉義數據,將輸入的數據中帶有善意字符的部分直接輸出,并執行與輸入的數據對應的結果。進一步的,若輸入的數據中包含惡意字符,則根據設置,顯示轉義后的數據。進一步的,若輸入的數據中包含惡意字符,則根據設置,隱藏轉義后的數據,并顯示提示框,以提醒用戶重新輸入數據。這樣一來,一方面預防了因用戶不小心輸入了帶有惡意字符的數據時,給用戶重新修改的機會,另一方面杜絕了有心之人輸入惡意數據攻擊網站而引發的后果。由于未開啟數據轉義功能,即使輸入的數據包含惡意字符,也無法對輸入的數據進行轉義,而是直接輸出并執行與輸入數據對應的結果。可選的,處理器610還用于執行存儲器620中存儲的跨站攻擊解決程序,以實現以下步驟:判斷所述輸入的數據是否包含預設字符。若是,則返回轉義后的數據,若否,則返回與所述輸入的數據對應的結果。具體地,通常情況下,用戶在使用瀏覽器時,輸入的是字母和數字這類的字符,也就認為字符和數字的字符是善意字符,從而在設置預設的字符時,認為特殊字符是惡意字符。例如:<、>、"、‘、’、(空格)等。當判斷用戶輸入的數據包括特殊字符,則認為輸入的數據中包含惡意字符,并返回轉義后的數據,若不包括特殊字符,則返回與所述輸入的數據對應的結果。在本實施例中,采用上述方法設置惡意字符,在其他實施例中,還可以設置其他單一字符或者組合字符作為惡意字符,本申請在此不做具體限制。也就是說,若判斷用戶輸入的數據包含預設的字符,則按照預設的轉義規則對特殊字符進行轉義,亦即:當判斷輸入的數據包含預設的特殊字符時,則認為出現了惡意字符,為了避免執行惡意字符的操作結果,就需要對輸入的數據進行轉義,生成不能被執行的編碼,以起到了解決跨網站攻擊的效果。通過轉移對照表中的轉義規則,當識別到包含預設字符的輸入數據時,自動將輸入的數據轉義為非執行的編碼并顯示轉換后的文本內容,避免了執行惡意代碼為用戶的信息泄露。若判斷用戶輸入的數據中沒有預設的字符,則認為不存在惡意字符,進而返回用戶輸入的數據,并執行相應的代碼。可選的,處理器610還用于執行存儲器620中存儲的跨站攻擊解決程序,以實現以下步驟:生成自定義標簽,具體包括:設置自定義標簽類;創建標簽庫描述文件;加載所述標簽庫描述文件;在服務器頁面的頭部引入所述標簽庫。具體地,先創建自定義標簽類,該標簽類通過重寫父類dostarttag或者doendtag來實現。例如,欲生成的標簽是<html:inputtextisescape=”true”name=”username”id=”user_name”>,該標簽以文本框的形式顯示在界面上,該標簽可以是用戶名和密碼的文本框,其中,定義類全限定名為com.nubia.userdefinedtag,并封裝<inputtype=text/>標簽,封裝該標簽在dostattag方法中生成。創建標簽庫文件主要是指定標簽的名稱、指定標簽的實現類、以及標簽的屬性,其中,標簽的名稱可以根據實際需要定義。示例性地,以標簽<html:inputtextisescape=”true”name=”username”id=”user_name”>舉例。其中,標簽名稱為:inputtext。標簽實現類為:com.nubia.userdefinedtag。標簽屬性為:isescape。進一步的,在數據庫中的web.xml文件中配置標簽庫文件,以便在瀏覽器啟動后加載標簽庫文件。可以引入標簽庫<%@tagliburi="/tld/web-html"prefix="html"%>。在頁面上就可以使用標簽<html:inputtextisescape=”true”name=”username”id=”user_name”>。其中,isescape作為是否對輸入數據進行轉義的方法參數。若需要轉義輸入數據,則將isescape的值設置為true,不需要轉義就可以設置為false。可選的,處理器610還用于執行存儲器620中存儲的跨站攻擊解決程序,以實現以下步驟:為標簽綁定至少一個事件;對所述標簽屬性進行賦值。具體地,以<html:inputtextisescape=”true”name=”username”id=”user_name”>舉例。首先,給原始標簽:inputtype=text綁定事件,比如綁定的是焦點失去事件,那么處理后的標簽就是<inputtype=”text”onfocusout=”invokeesacpe(isescape)”>。根據<html:inputtextisescape=”true”name=”username”id=”user_name”>標簽中的屬性生成標簽,屬性name、id都是inputtype=text固有的屬性,只需要把屬性值設置到原始標簽屬性上即可,則處理后的標簽是<inputtype=”text”name=”username”id=”user_name”onfocusout=”invokeesacpe(isescape)”>。本實施例的移動終端,通過接收輸入的數據,當判斷開啟數據轉義功能時,獲取鼠標的操作事件,并根據標簽綁定的操作事件,對所述輸入的數據進行轉義,進而輸出轉義后的數據,對于包含惡意字符的輸入數據來說,由于對該輸入數據進行了轉義,惡意字符被轉義為瀏覽器不能執行的代碼,這就避免了有心之人通過惡意字符獲取用戶的個人資料等信息,高效地解決了跨站攻擊問題,通過對轉義規則進行更新和升級,使得維護和擴展起來十分靈活和方便,提高了瀏覽器的安全性,保障了用戶的權益。本申請實施例還提供了一種計算機可讀存儲介質。這里的計算機可讀存儲介質存儲有一個或者多個程序。其中,計算機可讀存儲介質可以包括易失性存儲器,例如隨機存取存儲器;存儲器也可以包括非易失性存儲器,例如只讀存儲器、快閃存儲器、硬盤或固態硬盤;存儲器還可以包括上述種類的存儲器的組合。當計算機可讀存儲介質中一個或者多個程序可被一個或者多個處理器執行,以實現上述第一實施例至第三實施例中任一實施例所提供的跨站攻擊解決方法。需要說明的是,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調器,或者網絡設備等)執行本發明各個實施例所述的方法。以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的
技術領域
,均同理包括在本發明的專利保護范圍內。當前第1頁12
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影