WEB安全測試的型別
1.跨站指令碼(XSS)
XSS又叫CSS(CROSS SET SCRIPT),跨站指令碼攻擊。它指的是惡意攻擊者往WEB頁面裡插入惡意的html程式碼,當用戶瀏覽該頁面時,嵌入其中的html程式碼會被執行,從而達到惡意使用者的特殊目的;(釣魚、盜取cookie、操縱受害者的瀏覽器、蠕蟲攻擊)
2.反射型跨站(Reflected XSS)
伺服器端獲取http請求中的引數,未經過濾直接輸出到客戶端。如果這些引數是指令碼,它將在客戶端執行(釣魚常見)。
3.儲存型跨站(Stored XSS)
使用者輸入的資料存在伺服器端(一般存在資料庫中),其他使用者訪問某個頁面時,這些資料未經過濾直接輸出。這些資料可能是惡意的指令碼,對其他使用者造成危害。(掛馬
常見)
在允許上傳檔案的應用中,攻擊者上傳一個包含惡意程式碼的html或者txt檔案,使用者瀏覽這些檔案執行惡意程式碼;
一般的應用中上傳圖片最普遍,如果圖片中包含惡意程式碼的html或者txt檔案,,低版的IE直接請求這個圖片時,將忽略Content-Type執行圖片中的程式碼。
4.DOM跨站(DOM-Based XSS)
攻擊者構造一個包含惡意Javascript的URL,然後引誘使用者請求這個URL。伺服器收到請求後沒有返回惡意的Javascript。
瀏覽器在處理URL中的資料時,執行惡意程式碼。
5.跨站請求偽造(CSRF)
強迫受害者的瀏覽器向一個易受攻擊的Web應用程式傳送請求,最後達到攻擊者所需要的操作行為。
惡意請求會帶上瀏覽器的Cookie。受攻擊的Web應用信任瀏覽器的Cookie。
6.SQL注入
使用者輸入的資料未經驗證就用來構造SQL
查詢語句,查詢資料庫中的敏感內容,繞過認證新增、刪除、修改資料、拒絕服務。
7.XML注入
和SQL注入原理一樣,XML是儲存資料的地方,如果在查詢或修改時,如果沒有做轉義,直接輸入或輸出資料,都將導致XML注入漏洞。攻擊者可以修改XML資料格式,增加新的XML節點,對資料處理流程產生影響。
8.URL跳轉
Web應用程式接收到使用者提交的URL引數後,沒有對引數做”可信任URL”的驗證,就向用戶瀏覽器返回跳轉到該URL的指令。(釣魚攻擊)
9.檔案系統跨越
檔案系統中../代表上級目錄,通過一個或多個../跨越目錄限制。
10.系統命令
使用者提交的引數用於執行系統命令的引數。
使用”|”或”;”執行多條命令。
11.檔案上傳
Web應用程式在處理使用者上傳的檔案時,沒有判斷檔案的副檔名是否在允許的範圍內,或者沒檢測檔案內容的合法性,就把檔案儲存在伺服器上,甚至上傳指令碼木馬到web伺服器上,直接控制web伺服器。(未限制副檔名、未檢查檔案內容、病毒檔案)
12.任意檔案下載
下載附件等功能
Apache虛擬目錄指向
Java/PHP讀取檔案
下載資料庫配置檔案等
目錄瀏覽
13.許可權控制
有沒有許可權
有些系統不需要許可權控制
有沒有設定許可權
有了強大的許可權系統,但是沒有使用
有沒有偷工減料許可權
URL級別
選單級別
14.訪問控制
水平許可權
Web應用程式接收到使用者請求,修改某條資料時,沒有判斷資料的所屬人,或判斷資料所屬人時,從使用者提交的request引數(使用者可控資料)中,獲取了資料所屬人id,導致惡意攻擊者可以通過變換資料ID,或變換所屬人id,修改不屬於自己的資料。
垂直許可權
由於web應用程式沒有做許可權控制,或僅僅在選單上做了許可權控制,導致的惡意使用者只要猜測其他管理頁面的URL,就可以訪問或控制其他角色擁有的資料或頁面,達到許可權提升目的。
15.Session Expires
會話過期
瀏覽器過期
伺服器30分鐘無動作過期
伺服器24小時強制過期
保持會話
16.點選劫持(ClickJacking)
點選劫持(ClickJacking)是一種視覺上的欺騙手段。大概有兩種方式,一是攻擊者使用一個透明的iframe,覆蓋在一個網頁上,然後誘使使用者在該頁面上進行操作,此時使用者將在不知情的情況下點選透明的iframe頁面;二是攻擊者使用一張圖片覆蓋在網頁,遮擋網頁原有位置的含義。