一、HTTPS,確保Web安全
在HTTP協議中可能存在信息竊聽或身份偽裝等安全問題,HTTP的不足:
通信使用明文(不加密),內容可能會被竊聽 |
不驗證通信方的身份,因此有可能遭遇偽裝 |
無法證明報文的完整性,所以有可能已遭篡改 |
1、通信使用明文可能會被竊聽
HTTP本身不具有加密的功能,HTTP報文使用明文方式發送。另外TCP/IP協議的的通信機制,通信內容在所有的通信線路上都有可能遭到窺視。即使已經過加密
處理的通信,也會被窺視到通信內容。竊聽相同段上的通信並非難事,只需要收集在互聯網上流動的數據包(幀)就行了。
方案:加密處理防止被竊聽
(1)、通信的加密(建立安全通信線路)
HTTP協議中沒有加密機制,但可以通過和SSL(Secure Socket Layer,安全套接層)或TLS(Transport Layer Security,安全層傳輸協議)的組合使用加密HTTP的通信內容。
用SSL建立安全通信線路之后,就可以在這條線路上進行HTTP通信了。與SSL組合使用的HTTP被稱為HTTPS(HTTP Secure,超文本傳輸安全協議)
(2)、內容的加密
由於HTTP協議沒有加密機制,那就對HTTP協議傳輸的內容本身加密。即把HTTP報文里所含的內容進行加密處理。在這種情況下,客戶端需要對HTTP報文主體(body)進行加密處理后再發送請求。
2、不驗證通信方的身份就可能遭遇偽裝
HTTP協議中的請求和響應不會對通信方進行確認。也就是說存在服務器是否就是請求中URI真正指定的主機,返回的響應是否真的返回到實際提出請求的客戶端等類似問題。
(1)、任何人都可以發起請求
在HTTP協議通信時,由於不存在確認通信方的處理步驟,任何人都可以發起請求。另外,服務器只要接收到請求,不管對方是誰都會返回一個響應(也僅
限於發送端的IP地址和端口號沒有被Web服務器設定限制訪問的前提下)。因為不確認通信方,會存在以下各種隱患:
無法確定請求發送至目標的Web服務器是否是按真實意圖返回響應的那台服務器。有可能是已偽裝的Web服務器 |
無法確定響應返回到的客戶端是否是按真實意圖接收響應的那個客戶端。有可能是已偽裝的客戶端 |
無法確定正在通信的對方是否具備訪問權限。因為某些Web服務器上保存着重要的信息,只想發給特定用戶通信的權限 |
無法判定請求是來自何方、出自誰手 |
即使是無意義的請求也會照單全收。無法阻止海量請求下的Dos攻擊(Denial of Service,拒絕服務攻擊) |
(2)、查明對手的證書
雖然使用HTTP協議無法確定通信方,但如果使用SSL則可以。SSL不僅提供加密處理,而且還使用了一種被稱為證書的手段可用於確定方。證書由值得信任
的第三方機構頒發,用以證明服務器和客戶端是實際存在的符合資格的。
3、無法證明報文完整性,可能已遭篡改
(1)、接收到的內容可能有誤
由於HTTP無法證明報文的完整性,因此,在請求或響應送出之后直到對方接收之前的這段時間內,即使請求或響應的內容遭到篡改,也沒有辦法獲悉。即沒有辦法確認發出的請求/響應和接收到的請求/響應是前后相同的。
像這樣,請求或響應在傳輸途中,遭攻擊者攔截並篡改內容的攻擊稱為中間人攻擊(Man-in-the-Middle attack,MITM),攻擊人會隨意篡改請求和響應,而讓客戶端與服務器之間的通信看上去仍舊是正常的。
(2)、如何防止篡改
雖然有使用HTTP協議確定報文完整性的方法,但事實上並不便捷、可靠、其中常用的MD5和SHA-1等散列值校驗的方法,以及用來確認文件的數字簽名方法。
如提供下載服務的Web網站也會提供相應的以PGP(Pretty Good Privacy,完美隱私)創建的數字簽名及MD5算法生成的散列值。供用戶檢查驗證下載的文件
是否就是原來服務器上的文件。可惜的是用這些方法也依然無法百分百保證確認結果正確,因為PGP和MD5本身被改寫的話,用戶是沒有辦法意識到的。所以
有必要使用HTTPS,SSL提供認證和加密處理及摘要功能。
HTTP+加密+認證+完整性保護=HTTPS
證書可證明服務器或客戶端的身份,如我們會在Web登錄和結算等使用HTTPS通信,使用HTTPS通信時,使用https://。
1、HTTPS是身披SSL外殼的HTTP
HTTPS並非是應用層的一種新協議。只是HTTP通信接口部分用SSL和TLS協議代替而已。通常HTTP直接和TCP通信,當使用SSL時,則演變成先和SSL通信,再由SSL和TCP通信了。所以說HTTPS是身披SSL外殼的HTTP。
SSL是獨立於HTTP的協議,所以其他運行在應用層的協議如SMTP、Telnet均可配合SSL協議使用。可以說SSL是當今世界上應用最為廣泛的網絡安全技術。
2、相互交換密鑰的公開密鑰加密技術
SSL采用一種叫做公開密鑰加密的加密處理方式。
(1)、對稱密鑰加密方式需要將密鑰發給對方,但是發送密鑰的通信可能被監聽使攻擊人獲取到密鑰,另外還得想辦法安全的保管接收到的密鑰
(2)、使用兩把密鑰的公開密鑰加密(非對稱密鑰加密),很好的解決了對稱密鑰加密的困難。雙方各有一套配對的公鑰和私鑰,加密時雙方交換公鑰;公鑰加密,私鑰解密;私鑰加簽,公鑰驗簽。
(3)、HTTPS采用混合加密方式:即對稱密鑰加密和非對稱密鑰加密兩者並用的混合加密機制。由於非對稱加密和對稱加密相比,其處理速度要慢。對稱加密速度較快但是密鑰不能安全傳輸。
所以充分兩者各自的優勢,在對稱加密的交換密鑰環節使用非對稱加密方式保證密鑰的安全傳輸,在通信交換報文階段則使用對稱加密的方式。
3、證明非對稱加密方式公鑰正確性的證書
遺憾的是,公開密鑰加密方式還是存在一些問題的。那就是無法證明公開密鑰本身就是貨真價實的公開密鑰。如准備和某台服務器建立非對稱加密方式下的通
信時,交換公鑰后如何證明收到的公開密鑰就是原本預想的那台服務器的公鑰,可能在公鑰傳輸途中,真正的公鑰已經被攻擊者替換掉了。
數字證書認證機構處於客戶端與服務器雙方都可信賴的第三方機構的立場上。數字證書認證流程:
(1)、服務器把自己的公開密鑰登錄至數字證書認證機構
(2)、數字證書認證機構用自己的私鑰向服務器的公鑰簽署數字簽名並頒發公鑰證書給客戶端
(3)、客戶端拿到服務器的公鑰證書后,使用數字證書認證機構的公開密鑰(事先植入到瀏覽器中),像數字證書認證機構驗證公鑰證書上的數字簽名,以確認服務器的公開密鑰的真實性
(4)、客戶端使用服務器的公開密鑰對報文加密后發送
(5)、服務器用私有密鑰對報文解密。
即數字證書認證機構使用非對稱加密方式對同樣使用非對稱加密的雙方的交換公鑰的公鑰進行加密和加簽保證公鑰的正確性,只不過數字證書認證機構的公鑰事先植入在瀏覽器中,是可信的。
既然HTTPS安全可靠,為什么不一直使用HTTPS?
HTTPS比HTTP要慢2到100倍,比HTTP多了SSL通信,首先SSL通信慢,另外SSL通信還要大量消耗CPU及內存等資源。此外要進行HTTPS通信,證書必不可少,而證書必須向認證機構(CA)購買,價格昂貴。
因此,如果是非敏感信息則使用HTTP通信,只有包含敏感數據時,才使用HTTPS加密通信。
二、用戶身份的認證
某些Web頁面只想讓特定的人瀏覽,所以需要認證功能。認證即確定訪問者的身份,以及訪問者是否有權限等,核對只有登錄者本人才知道的信息,包括:
密碼、動態令牌(僅本人持有的設備內顯示的一次性密碼)、數字證書(僅限本人終端持有的信息)、生物認證(指紋和虹膜等)、IC卡。
1、HTTP常用的認證方式:
BASIC認證(基本認證)、DIGEST認證(摘要認證)、SSL客戶端認證、FormBase認證(基於表單認證)。
認證多半基於表單認證,由於使用上的便利性和安全性問題,HTTP協議標准提供的BASIC認證和DIGEST認證幾乎不怎么使用。另外,SSL客戶端雖然具有高度的
安全等級,但因為導入和維持費用等問題,還尚未普及。
BASIC認證步驟:
1、發送請求 |
2、返回狀態碼401告知客戶端需要進行認證 |
3、用戶ID和密碼以Base64方式編碼后發送 |
4、認證成功返回狀態碼200,若認證失敗返回狀態碼401 |
基於表單認證:
基於表單的認證方法並不是在HTTP協議中定義的。客戶端會向服務端上的Web應用程序發送登錄信息,按登陸信息的驗證結果認證。
2、Session管理及Cookie應用
基於表單認證的標准規范尚未有定論,一般會使用Cookie來管理Session。因為HTTP是無狀態協議,之前已認證成功的用戶狀態無法通過協議層面保存下來。即無法實現狀態管理,因此
即使當該用戶下一次繼續訪問,也無法區分他與其他的用戶。於是我們使用Cookie來管理Session(保存SessionID),以彌補HTTP協議中不存在的狀態管理功能。然而,如果SessionID被第
三方盜走,對方就可以偽裝成你的身份進行惡意操作了,因此必須防止SessionID被盜,因此SessionID應使用難以推測的字符串,且服務端也要進行有效期的管理,保證其安全性。另外,為
減輕跨站腳本攻擊Xss造成的損失,建議事先在Cookie上加上httponly屬性。
另外,不僅基於表單認證的登陸信息及認證過程都無標准化的方法,服務器端應如何保存用戶提交的密碼等登陸信息等也沒有標准化。通常,一種安全的保存方法是,先利用給密碼加鹽
(salt,由服務器隨機生成的一個字符串,但是要保證長度足夠長,並且是真正隨機生成的),然后把它和密碼字符串相連接(前后都可以)生成散列值。這樣,即使當兩個用戶使用了同一個
密碼時,由於隨機生成的salt值不同,對應的散列值也將是不同的。這樣一來,很大程度上減少了密碼特性,攻擊者也很難利用自己手中的二密碼特征庫進行破解。
三、Web的攻擊技術
互聯網上的攻擊大都將Web站點作為目標,協議本身幾乎不會稱為攻擊的對象,應用HTTP協議的服務端和客戶端,以及運行在服務器上的Web因公等資源才是攻擊目標。
統計顯示互聯網上重要的攻擊事件中SQL注入攻擊占4成,其次是XSS,占到15%。
1、HTTP不具備必要的安全 功能
現今幾乎所有的Web網站都會使用會話(session)管理、加密處理等安全性方面的功能,而HTTP協議內並不具備這些功能。從整體上看,HTTP就是一個通用的單純協議機制
,因此它具備較多優勢,但是在安全性方面則呈劣勢。
2、在客戶端即可篡改請求
在Web應用中,從瀏覽器那接收到的HTTP請求的全部內容,都可以在客戶端自由地變更,篡改。所以,Web應用可能會接收到與預期數據不相同的內容。
在HTTP請求報文內加載攻擊代碼,就能發起對Web應用的攻擊。通過URL查詢字段或表單、HTTP頭部、Cookie等途徑把攻擊代碼傳入,若這時Web應用存在安全漏洞,
那內部信息就會遭到竊取,或被攻擊者拿到管理權限。
3、針對Web應用的攻擊模式
主要有主動攻擊和被動攻擊兩種。
1、以服務器為目標的主動攻擊
主動攻擊(active attack)是指攻擊者通過直接訪問Web應用,把攻擊代碼傳入的攻擊模式。由於該模式是直接針對服務器上的資源進行攻擊,因此攻擊者需要訪問到
那些資源。主動攻擊模式里最具代表性的是SQL注入和OS命令注入攻擊。
2、以服務器為目標的被動攻擊
被動攻擊(passive attack)是指利用圈套策略執行攻擊代碼的攻擊模式。在被動攻擊過程中,攻擊者不直接對目標Web應用訪問發起攻擊。
被動攻擊通常的攻擊模式如下所示:
步驟1:攻擊者誘使用戶觸發已設置好的陷阱,而陷阱會啟動發送已嵌入攻擊代碼的HTTP請求
步驟2:當用戶不知不覺中招之后,用戶的瀏覽器或郵件客戶端就會觸發這個陷阱
步驟3:中招后的用戶瀏覽器會把含有攻擊代碼的HTTP請求發送給作為攻擊目標的Web應用,運行攻擊代碼
步驟4:執行完攻擊代碼,存在安全漏洞的Web應用會成為攻擊者的跳板,可能導致用戶所持的Cookie等個人信息被竊取,登錄狀態找那個的用戶權限遭惡意濫用等后果。
被動攻擊模式中具有代表性的攻擊是跨站腳本攻擊(XSS)和跨站點請求偽造(CSRF)。
利用用戶的身份攻擊企業內部網絡:利用被動攻擊,可發起對原本從互聯網上無法直接訪問的企業內網等網絡的攻擊。只要用戶踏入攻擊者預先設好的陷阱,在用戶能夠
訪問到的網絡范圍內,即使是企業內網也同樣會受到攻擊。
因輸出值轉義不完全引發的安全漏洞
實施Web應用的安全對策可大致分為一下兩部分
1)客戶端的驗證
2)Web服務器的驗證
(1)、輸入值驗證
(2)、輸出值轉義
多數情況下采用JavaScript在客戶端驗證數據。可是在客戶端允許篡改數據或關閉JavaScript,不適合將JavaScript驗證作為安全的防范對策。保留客戶端驗證只是為了盡
早的辨別錯誤,起到UI體驗同時減輕服務器壓力的作用。
Web應用端的輸入值驗證按Web應用內的處理則有可能被誤認為是具有攻擊性意義的代碼。針對輸入值驗證通常是指檢查是否是符合系統業務邏輯的數據或檢查字符編碼等預防對策。
從數據庫或文件系統、HTML、郵件等輸出Web應用處理的數據之際,針對輸出做值轉義處理是一項至關重要的安全策略。當輸出值轉義不完全時,會因觸發攻擊者傳入的攻擊代碼,而給輸出對象帶來損害。
1、跨站腳本攻擊(XSS)
跨站腳本攻擊(Cross-Site Scripting,XSS)是指通過存在安全漏洞的Web網站注冊用戶的瀏覽器內運行非法的HTML標簽或JavaScript進行的一種攻擊。動態創建的
HTML部分有可能隱藏着安全漏洞,就這樣,攻擊者編寫腳本設下陷阱,用戶在自己的瀏覽器上運行時,一不小心就會受到被動攻擊。
跨站腳本攻擊有可能造成以下影響:
(1)、利用虛假輸入表單騙取用戶個人信息
(2)、利用腳本竊取用戶的Cookie值,被害者在不知情的情況下,幫助攻擊者發送惡意請求
(3)、顯示偽造的文章或圖片
跨站腳本攻擊案例:
(1)、在動態生成HTML處發生
如:在表單上輸入內容的時候使用HTML標簽括起來,使顯示的內容樣式改變
在URI的參數值上使用JavaScript腳本,導致用戶在登錄時同時發送用戶名密碼到攻擊者的網站,或者導致alter彈出框
(2)、對用戶Cookie的竊取攻擊
同樣在URI的參數上指定一個遠程的script腳本,通過該腳本竊取用戶的Cookie信息。
2、SQL注入攻擊
SQL注入是指針對Web應用使用的數據庫,通過運行非法的SQL而產生的攻擊。該安全隱患有可能引發極大的威脅,有時會直接導致個人信息及機密信息的泄漏。
SQL注入攻擊有可能會造成以下等影響:
(1)、非法查看或篡改數據庫內的數據
(2)、規避認證
(3)、執行和數據庫服務器業務關聯的程序等
SQL注入攻擊案例
在表單上輸入查詢的條件去查詢特定的結果,如果沒有使用預編譯SQL語句(#{}),而是使用占位符(${})來獲取查詢條件的話就有可能導致SQL注入。
如:攻擊者在表單上輸入的條件為[xxx or 1=1]就能規避掉查詢條件查看到非法的數據。或者輸入[xxx ---],也會導致之后的查詢條件失效。
3、OS命令注入攻擊
OS命令注入攻擊(OS Command Injection)是指通過Web因公,執行非法的操作系統命令達到攻擊的目的。只要在能調用Shell函數的地方就存在被攻擊的風險。
可以從Web應用中通過Shell來調用操作系統命令。倘若調用Shell時存在疏漏,就可以執行非法的OS命令,從而執行OS上安裝着的各種程序。
OS攻擊案例
在表單中寫入OS命令,將操作系統中指定文件的內容發送到攻擊者的郵箱中。
4、HTTP頭部注入攻擊
HTTP頭部注入攻擊(HTTP Header Injection)是指攻擊者通過在響應頭部字段內插入換行,添加任意響應頭部或主體的一種攻擊。屬於被動攻擊模式。
向頭部主體內添加內容的攻擊稱為HTTP響應截斷攻擊(HTTP Response Splitting Attack)。如:
Web應用有時會把從外部接收到的數值,賦給響應頭部字段Location和Set-Cookie。
HTTP頭部注入攻擊可能造成以下一些影響:
(1)、設置任何Cookie信息
(2)、重定向至任意URL
(3)、顯示任意的主體(HTTP響應截斷攻擊)
5、郵件頭部注入攻擊
郵件頭部注入是指Web應用中的郵件發送功能,攻擊者通過向郵件頭部To或Subject內任意添加非法內容發起的攻擊。利用存在安全漏洞的Web網站,可對
任意郵件地址發送廣告郵件或病毒郵件。
6、目錄遍歷攻擊
目錄遍歷攻擊是指對本無意公開的文件目錄,通過非法截斷其目錄路徑后,達成訪問目的的一種攻擊。這種攻擊有時也稱為路徑遍歷攻擊
通過Web應用對文件處理操作時,在由外部指定文件名的處理存在疏漏的情況下,用戶可使用../等相對路徑定位到/etc/passwd等絕對路徑上,因此服務器上
任意的文件或文件目錄皆有可能被訪問到。這樣一來,就有可能非法瀏覽、篡改或刪除Web服務器上的文件。因此應該關閉指定對任意文件名的訪問權限。
7、遠程文件包含漏洞
是指當部分腳本內容需要從其他文件讀入時,攻擊者利用指定外部服務器的URL充當依賴文件,讓腳本讀取之后,就可運行任意腳本的一種攻擊。
這主要是PHP存在的安全漏洞,對PHP的include或require來說,這是一種通過設定,指定外部服務器的URL作為文件名的功能。因為該功能太危險,PHP5.2.0
之后默認設定此功能無效。
因設置或設計上的缺陷引發的安全漏洞
是指錯誤設置Web服務器,或是由設計上的一些問題引起的安全漏洞
8、強制瀏覽
強制瀏覽安全漏洞是指,從安置在Web服務器的公開目錄下的文件中,瀏覽那些原本非自願公開的文件
強制瀏覽有可能造成以下一些影響:
1)泄漏顧客的個人信息等重要情報
2)泄漏原本需要訪問權限的用戶才可查閱的信息內容
3)泄漏未連接到外界的文件
對那些原本不願公開的文件,為了保證安全會隱蔽其URL。可一旦知道了那些URL,也就意味着可瀏覽URL對應的文件。直接顯示容易推測的文件名或文件目錄
索引時,通過某些方法可能會使URL產生泄漏。
如:在需要訪問權限控制的頁面中,不具備對圖片訪問權限的控制,攻擊者通過源代碼獲取圖片地址可直接訪問需要權限才能訪問的頁面上的圖片信息。
9、不正確的錯誤消息處理
是指Web應用的錯誤信息內包含對攻擊者有用的信息,與Web應用有關的主要錯誤信息如下所示:
1)Web應用拋出的錯誤信息
2)數據庫等系統拋出的錯誤信息
Web應用不必在用戶的瀏覽頁面上展現詳細的錯誤信息。對攻擊者來說,詳細的錯誤消息有可能給它們下一次攻擊以提示。
如:在登錄時會提示手機號未注冊,當已注冊可能會提示密碼錯誤等其他消息。攻擊者利用不同的輸入提示不同的錯誤信息,就能判斷手機號是否在這個網站注冊過了。
所以建議將提示的消息盡可能模糊。
10、開放重定向
開發重定向(Open Redirect)是一種對指定的任意URL作重定向跳轉的功能。而於此功能相關聯的安全漏洞是指,假如指定的重定向URL到某個具有惡意的Web網站。
因會話管理疏忽引發的安全漏洞
會話管理是用來管理用戶狀態的必備功能,但是如果在會話管理上有所疏忽,就會導致用戶的認證狀態被竊取等后果。
11、回話劫持
會話劫持(Session Hijack)是指攻擊者通過某種手段拿到了用戶的會話ID,並非法使用此會話ID偽裝成用戶,達到攻擊的目的。
具備認證功能的Web應用,使用會話ID的會話管理機制,作為管理認證狀態的主流方式。會話ID中記錄客戶端的Cookie等信息,服務器端將會話ID與認證狀態進行
一對一的匹配管理。
攻擊者可獲取會話ID的途徑:
1)通過非正規的生成方法推測會話ID
2)通過竊聽或XSS攻擊盜取會話ID
3)通過會話固定攻擊(Session Fixation)強行獲取會話ID
案例:攻擊者在得知該Web網站存在可跨站攻擊XSS的安全漏洞之后,就設置好用JavaScript腳本調用document.cookie以竊取Cookie信息的陷阱,一旦用戶踏入
陷阱(訪問了該腳本),攻擊者就能獲取含有會話ID的Cookie。攻擊者在拿到用戶的會話ID后,往自己的瀏覽器的Cookie中設置該會話ID,即可偽裝成會話ID遭竊的
用戶,訪問Web網站了。
12、會話固定攻擊
對以竊取目標會話ID為主動攻擊手段的會話劫持而言,會話固定攻擊(Session Fixation)攻擊會強制用戶使用攻擊者指定的會話ID,屬於被動攻擊。案例步驟:
1)、攻擊者訪問需要認證的頁面
2)、服務器發布一個未認證狀態的會話ID(http://xxx/login?SID=xxx)
3)、攻擊者將上面未認證的會話ID URL作為陷阱,誘導用戶前去認證,認證后,會話ID變為已認證狀態
4)、攻擊者即可訪問網站
13、跨站點請求偽造(CSRF)
跨站點請求偽造(Cross-Site Request Forgeries,CSRF)攻擊是指攻擊者通過設置好的陷阱,強制對已完成認證的用戶進行非預期的個人信息或設定信息等某些
狀態更新,屬於被動攻擊。跨站點請求偽造有可能會造成以下影響:
1)利用已通過認證的用戶權限燈芯設定信息等
2)利用已通過認證用戶權限購買商品
3)利用已通過認證的用戶權限在留言板上發表言論
案例:用戶A通過認證登錄某網站,攻擊者不下陷阱,A觸發了攻擊者布下的陷阱將利用A的身份和權限(因為用戶A的瀏覽器中Cookie持有已認證的會話ID)去
執行發表言論等動作。
其他安全漏洞
14、密碼破解
密碼破解(Password Cracking)即算出密碼,突破認證。攻擊不限於Web應用,還包括其他的系統(如FTP或SSH等),密碼破解有以下兩種手段:
1)通過網絡的密碼試錯(窮舉法,字典攻擊)
2)對已加密密碼的破解(指攻擊者入侵系統,以獲取加密或散列處理的密碼數據的情況)
除了突破認證的攻擊手段,還有SQL注入攻擊逃避認證,跨站腳本攻擊竊取密碼信息等方法
Web應用在保存密碼時,一般不會以明文的方式保存,通過散列函數做散列處理或加salt的手段對要保存的密碼本身加密。這樣即使攻擊者使用某些手段竊取密碼
數據,如果想要真正使用這些密碼,則必須先通過解碼等手段,把加密處理的密碼還原成明文形式。從加密過的數據拿到明文通常有以下幾種方法:
1)通過窮舉法-字典攻擊進行類推
2)彩虹表(由明文密碼及與之對應的散列值構成的一張數據庫表)
3)拿到加密密鑰
4)加密算法的漏洞(極困難)
15、點擊劫持
是指利用透明的按鈕或鏈接做成陷阱,覆蓋在Web頁面之上。然后誘使用戶在不知情的情況下,點擊那個鏈接訪問內容的一種攻擊手段。這種行為又稱為界面偽裝。
已設置陷阱的Web頁面,表面上並看不出來,但實際上已埋入了想讓用戶點擊的鏈接,當用戶點擊到透明按鈕時,實際上是點擊了已指定透明屬性元素的iframe頁面。
在做過手腳的Web頁面上,目標的頁面將作為透明層覆蓋在游戲網頁上,覆蓋時,要保證想讓用戶點擊的透明頁面的按鈕和覆蓋的按鈕重疊。
16、DoS攻擊
是一種讓運行中的服務呈停止狀態的攻擊。有時也叫服務停止攻擊或拒絕服務攻擊。DoS攻擊的對象不受限於Web網站,還包括網絡設備及服務器等。
主要有以下兩種DoS攻擊方式:
1)利用集中訪問請求造成資源過載,資源用盡的同時,實際上服務也就呈停止狀態
2)通過攻擊安全漏洞使服務停止
17、后門程序
是指開發設置的隱藏入口,可不按正常步驟使用受限功能。通常的后門程序分為以下3種類型:
1)開發階段作為Debug調用的后門程序
2)開發者為了自身利益植入的后門程序
3)攻擊者通過某種方法設置的后門程序