Xss 漏洞檢測方法和裝置的制造方法
【技術領域】
[0001]本發明涉及計算機安全領域,具體而言,涉及一種XSS漏洞檢測方法和裝置。
【背景技術】
[0002]跨站腳本攻擊XSS (Cross Site Scripting)漏洞是一種經常出現在Web頁面也即網頁中的計算機安全漏洞。具體地,XSS漏洞通常是指由于網頁編寫的問題所導致的用戶能夠向網頁或網頁所在的Web服務器植入代碼的情形,其中,由于用戶能夠向網頁或Web服務器植入自己編寫的代碼,因此惡意的用戶便可以利用網頁中的XSS漏洞繞開常規的訪問控制,進而危害Web服務器、訪問該網頁的其他客戶端及其常規用戶。因此,為提高網絡運行環境的安全等級和可靠性,如何有效地對網頁中的XSS漏洞進行檢測便成為了亟待解決的問題。
[0003]由于XSS漏洞通常是由于網頁編寫及其響應邏輯的不完善導致的,因此為了實現對XSS漏洞的有效檢測,目前所通常采用的方案是對網頁對應的網頁文件進行匹配分析。具體地,可以預先設置有一些用于匹配的關鍵詞,這些關鍵詞通常可以體現出XSS漏洞的特征,進而利用這些關鍵詞對網頁文件進行匹配,并在檢測到網頁文件中存在一個或多個該關鍵詞時,分析出該網頁存在XSS漏洞。
[0004]然而,由于XSS漏洞的復雜性,其所對應的可能出現在網頁文件中的關鍵詞可能有很多種,這在一方面增大了維護關鍵詞列表的負擔,在另一方面也容易導致XSS漏洞的漏報。在又一方面,由于網頁文件中的代碼的復雜性,因此網頁文件中可能存在一些不屬于XSS漏洞的正常的內容卻包含有某一個或多個上述關鍵詞,在這一情形下,采用上述方式對XSS漏洞進行檢測也容易出現XSS漏洞的誤報。也就是說,現有的XSS漏洞的檢測方案容易造成XSS漏洞的漏報或誤報,也即現有方案的檢測結果的準確性不足。針對這一問題,目前尚未提出有效的解決方案。
【發明內容】
[0005]本發明實施例提供了一種XSS漏洞檢測方法和裝置,以至少解決基于對網頁文件進行匹配分析的XSS漏洞檢測方案所得到的檢測結果準確性較差的技術問題。
[0006]根據本發明實施例的一個方面,提供了一種XSS漏洞檢測方法,包括:獲取待檢測的網頁的統一資源標識符URL (Uniformed Resource Locator)和上述待檢測的網頁所在的Web服務器可執行的腳本代碼;將上述腳本代碼更新到上述待檢測的網頁的URL中;使用更新后的上述URL訪問上述待檢測的網頁;判斷上述Web服務器是否執行上述腳本代碼;若上述Web服務器執行上述腳本代碼,則判斷出上述待檢測的網頁存在跨站腳本攻擊XSS漏洞。
[0007]根據本發明實施例的另一方面,還提供了一種XSS漏洞檢測裝置,包括:獲取單元,用于獲取待檢測的網頁的統一資源標識符URL和上述待檢測的網頁所在的Web服務器可執行的腳本代碼;更新單元,用于將上述腳本代碼更新到上述待檢測的網頁的URL中;訪問單元,用于使用更新后的上述URL訪問上述待檢測的網頁;判斷單元,用于判斷上述Web服務器是否執行上述腳本代碼;輸出單元,用于在上述Web服務器執行上述腳本代碼時,判斷出上述待檢測的網頁存在跨站腳本攻擊XSS漏洞。
[0008]在本發明實施例中,采用了對待檢測的網頁進行訪問、進而分析網頁的響應來檢測該待檢測的網頁中是否存在XSS漏洞的方式。具體地,在本發明實施例中,可以先獲取待檢測的網頁的URL和待檢測的網頁所在的Web服務器可執行的腳本代碼,然后使用攜帶有該腳本代碼的更新后的該URL訪問該待檢測的網頁,以便于將該腳本代碼上報給該Web服務器。由于對XSS漏洞有較為完善的防護措施的網頁普遍不會直接執行URL中夾帶的腳本代碼,因此通過對Web服務器是否會直接執行該腳本代碼進行判斷,便可以得知待檢測的網頁中是否存在XSS漏洞。一般地,在上述場景下,如果Web服務器執行該腳本代碼,則可以判斷出待檢測的網頁中存在XSS漏洞,反之則可以認為網頁中不存在XSS漏洞。通過上述方式,避免了由于網頁文件的復雜性所帶來的基于對網頁文件的匹配分析進行的XSS漏洞檢測的過程中可能帶來的漏判和誤判,提高了檢測結果的準確性,進而解決了基于對網頁文件進行匹配分析的XSS漏洞檢測方案所得到的檢測結果準確性較差的技術問題。
【附圖說明】
[0009]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0010]圖1是根據本發明實施例的一種可選的XSS漏洞檢測方法的示意圖;
[0011]圖2是根據本發明實施例的一種可選的XSS漏洞檢測方法或裝置的實施環境的示意圖;
[0012]圖3是根據本發明實施例的一種可選的網頁頁面的示意圖;
[0013]圖4是根據本發明實施例的另一種可選的網頁頁面的示意圖;
[0014]圖5是根據本發明實施例的又一種可選的網頁頁面的示意圖;
[0015]圖6是根據本發明實施例的又一種可選的網頁頁面的示意圖;
[0016]圖7是根據本發明實施例的另一種可選的XSS漏洞檢測方法的示意圖;
[0017]圖8是根據本發明實施例的又一種可選的XSS漏洞檢測方法的示意圖;
[0018]圖9是根據本發明實施例的一種可選的XSS漏洞檢測裝置的示意圖;
[0019]圖10是根據本發明實施例的一種可選的存儲介質中存儲的程序代碼所執行的操作步驟的示意圖;
[0020]圖11是根據本發明實施例的一種可選的服務器的示意圖。
【具體實施方式】
[0021 ] 為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
[0022]需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
[0023]實施例1
[0024]根據本發明實施例,提供了一種XSS漏洞檢測方法,如圖3所示,該方法包括:
[0025]S102:獲取待檢測的網頁的URL和待檢測的網頁所在的Web服務器可執行的腳本代碼;
[0026]S104:將腳本代碼更新到待檢測的網頁的URL中;
[0027]S106:使用更新后的URL訪問待檢測的網頁;
[0028]S108:判斷Web服務器是否執行該腳本代碼;
[0029]S110:若Web服務器執行腳本代碼,則判斷出待檢測的網頁存在跨站腳本攻擊XSS漏洞。
[0030]應當明確的是,本發明實施例所要解決的問題之一是提供一種方法,以便實現對XSS漏洞的有效檢測。
[0031]XSS漏洞是一種經常出現在Web頁面也即網頁中的計算機安全漏洞。具體地,XSS漏洞通常是指由于網頁編寫的問題所導致的用戶能夠向網頁或網頁所在的Web服務器植入代碼的情形,其中,由于用戶能夠向網頁或Web服務器植入自己編寫的代碼,因此惡意的用戶便可以利用網頁中的XSS漏洞繞開常規的訪問控制,進而危害Web服務器、訪問該網頁的其他客戶端及其常規用戶。因此,為提高網絡運行環境的安全等級和可靠性,如何有效地對網頁中的XSS漏洞進行檢測便成為了亟待解決的問題。
[0032]由于XSS漏洞通常是由于網頁編寫及其響應邏輯的不完善導致的,因此為了實現對XSS漏洞的有效檢測,目前所通常采用的方案是對網頁對應的網頁文件進行匹配分析。具體地,可以預先設置有一些用于匹配的關鍵詞,這些關鍵詞通常可以體現出XSS漏洞的特征,進而利用這些關鍵詞對網頁文件進行匹配,并在檢測到網頁文件中存在一個或多個該關鍵詞時,分析出該網頁存在XSS漏洞。
[0033]然而,由于XSS漏洞的復雜性,其所對應的可能出現在網頁文件中的關鍵詞可能有很多種,這在一方面增大了維護關鍵詞列表的負擔,在另一方面也容易導致XSS漏洞的漏報。在又一方面,由于網頁文件中的代碼的復雜性,因此網頁文件中可能存在一些不屬于XSS漏洞的正常的內容卻包含有某一個或多個上述關鍵詞,在這一情形下,采用上述方式對XSS漏洞進行檢測也容易出現XSS漏洞的誤報。也就是說,現有的XSS漏洞的檢測方案容易造成XSS漏洞的漏報或誤報,也即現有方案的檢測結果的準確性不足。
[0034]為解決上述問題,在本發明實施例中,采用了對待檢測的網頁進行訪問、進而分析網頁的響應來檢測該待檢測的網頁中是否存在XSS漏洞的方式。具體地,在本發明實施例中,可以先獲取待檢測的網頁的URL和待檢測的網頁所在的Web服務器可執行的腳本代碼,然后使用攜帶有該腳本代碼的更新后的該URL訪問該待檢測的網頁,以便于將該腳本代碼上報給該Web服務器。由于對XSS漏洞有較為完善的防護措施的網頁普遍不會直接執行URL中夾帶的腳本代碼,因此通過對Web服務器是否會直接執行該腳本代碼進行判斷,便可以得知待檢測的網頁中是否存在XSS漏洞。一般地,在上述場景下,如果Web服務器執行該腳本代碼,則可以判斷出待檢測的網頁中存在XSS漏洞,反之則可以認為網頁中不存在XSS漏洞。通過上述方式,避免了由于網頁文件的復雜性所帶來的基于對網頁文件的匹配分析進行的XSS漏洞檢測的過程中可能帶來的漏判和誤判,提高了檢測結果的準確性,進而解決了基于對網頁文件進行匹配分析的XSS漏洞檢測方案所得到的檢測結果準確性較差的技術問題。
[0035]以下將結合附圖和具體實施例對本發明技術方案及其工作原理進行更為詳細的描述。首先結合圖2對根據本發明實施例提供的XSS漏洞檢測方法的實施環境進行描述。
[0036]在圖2中,Web服務器204可以是用于提供網頁瀏覽服務的服務器,具體地,客戶端206、208和210可以向Web服務器204發送請求訪問由Web服務器204所維護的一個或多個網頁的請求消息,并接收Web服務器204響應于該請求消息所返回的訪問結果。更具體地,在本發明實施例中,上述客戶端206、208和210包括但不限于是瀏覽器客戶端,進而這些瀏覽器客戶端可以根據返回的訪問結果加載各項內部或外部資源并對頁面進行渲染,生成用于向客戶端的用戶展示的網頁頁面,以便于用戶對網頁進行瀏覽。當然,這只是一種示例,在本發明的一些實施例中,上述客戶端206、208和210也可以是瀏覽器客戶端以外的客戶端,用來向客戶端的用戶提供包括展示網頁在內的更為豐富的功能,例如,在一個實施例中,客戶端206也可以是網頁游戲客戶端,通過該網頁游戲客戶端仍然可以完成對Web服務器204所維護的游戲頁面的訪問,本發明對此不作限定。
[0037]進一步地,如圖2所示,網絡環境中還可以設置有后臺服務器202,該后臺服務器202可以用于提供數據安全服務。具體地,在本發明實施例中,后臺服