'「乾貨」常見的Web安全漏洞及測試方法介紹'

"

常見的Web安全漏洞及測試方法介紹

背景介紹

Web應用一般是指B/S架構的通過HTTP/HTTPS協議提供服務的統稱。隨著互聯網的發展,Web應用已經融入了我們的日常生活的各個方面。在目前的Web應用中,大多數應用不都是靜態的網頁瀏覽,而是涉及到服務器的動態處理。如果開發者的安全意識不強,就會導致Web應用安全問題層出不窮。

我們一般說的Web應用攻擊,是指攻擊者通過瀏覽器或者其他的攻擊工具,在URL或者其他的輸入區域(如表單等),向Web服務器發送特殊的請求,從中發現Web應用程序中存在的漏洞,進而操作和控制網站,達到入侵者的目的。

常見安全漏洞

一、SQL注入

SQL注入(SQL Injection),是最常見影響非常廣泛的漏洞。攻擊者通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令,從而入侵數據庫來執行未授意的任意查詢。

SQL注入可能造成的危害有:網頁、數據被篡改,核心數據被竊取,數據庫所在的服務器被攻擊,變成傀儡主機。

例如有些網站沒有使用預編譯sql,用戶在界面上輸入的一些字段被添加到sql中,很有可能這些字段包含一些惡意的sql命令。如:password = "1' OR '1'='1";即使不知道用戶密碼,也能正常登錄。

測試方法:

在需要進行查詢的頁面,輸入正確查詢條件 and 1=1等簡單sql語句,查看應答結果,如與輸入正確查詢條件返回結果一致,表明應用程序對用戶輸入未進行過濾,可以初步判斷此處存在SQL注入漏洞

二、XSS跨站腳本攻擊

SS(Cross Site Script),與SQL注入相似,XSS是通過網頁插入惡意腳本,主要用到的技術也是前端的HTML和JavaScript腳本。當用戶瀏覽網頁時,實現控制用戶瀏覽器行為的攻擊方式。

一次成功的XSS,可以獲取到用戶的cookie,利用該cookie盜取用戶對該網站的操作權限;也可以獲取到用戶聯繫人列表,利用被攻擊者的身份向特定的目標群發送大量的垃圾信息,等等。

XSS分為三類:存儲型(持久性XSS)、反射型(非持久性XSS)、DOM型。

"

常見的Web安全漏洞及測試方法介紹

背景介紹

Web應用一般是指B/S架構的通過HTTP/HTTPS協議提供服務的統稱。隨著互聯網的發展,Web應用已經融入了我們的日常生活的各個方面。在目前的Web應用中,大多數應用不都是靜態的網頁瀏覽,而是涉及到服務器的動態處理。如果開發者的安全意識不強,就會導致Web應用安全問題層出不窮。

我們一般說的Web應用攻擊,是指攻擊者通過瀏覽器或者其他的攻擊工具,在URL或者其他的輸入區域(如表單等),向Web服務器發送特殊的請求,從中發現Web應用程序中存在的漏洞,進而操作和控制網站,達到入侵者的目的。

常見安全漏洞

一、SQL注入

SQL注入(SQL Injection),是最常見影響非常廣泛的漏洞。攻擊者通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令,從而入侵數據庫來執行未授意的任意查詢。

SQL注入可能造成的危害有:網頁、數據被篡改,核心數據被竊取,數據庫所在的服務器被攻擊,變成傀儡主機。

例如有些網站沒有使用預編譯sql,用戶在界面上輸入的一些字段被添加到sql中,很有可能這些字段包含一些惡意的sql命令。如:password = "1' OR '1'='1";即使不知道用戶密碼,也能正常登錄。

測試方法:

在需要進行查詢的頁面,輸入正確查詢條件 and 1=1等簡單sql語句,查看應答結果,如與輸入正確查詢條件返回結果一致,表明應用程序對用戶輸入未進行過濾,可以初步判斷此處存在SQL注入漏洞

二、XSS跨站腳本攻擊

SS(Cross Site Script),與SQL注入相似,XSS是通過網頁插入惡意腳本,主要用到的技術也是前端的HTML和JavaScript腳本。當用戶瀏覽網頁時,實現控制用戶瀏覽器行為的攻擊方式。

一次成功的XSS,可以獲取到用戶的cookie,利用該cookie盜取用戶對該網站的操作權限;也可以獲取到用戶聯繫人列表,利用被攻擊者的身份向特定的目標群發送大量的垃圾信息,等等。

XSS分為三類:存儲型(持久性XSS)、反射型(非持久性XSS)、DOM型。

「乾貨」常見的Web安全漏洞及測試方法介紹

"

常見的Web安全漏洞及測試方法介紹

背景介紹

Web應用一般是指B/S架構的通過HTTP/HTTPS協議提供服務的統稱。隨著互聯網的發展,Web應用已經融入了我們的日常生活的各個方面。在目前的Web應用中,大多數應用不都是靜態的網頁瀏覽,而是涉及到服務器的動態處理。如果開發者的安全意識不強,就會導致Web應用安全問題層出不窮。

我們一般說的Web應用攻擊,是指攻擊者通過瀏覽器或者其他的攻擊工具,在URL或者其他的輸入區域(如表單等),向Web服務器發送特殊的請求,從中發現Web應用程序中存在的漏洞,進而操作和控制網站,達到入侵者的目的。

常見安全漏洞

一、SQL注入

SQL注入(SQL Injection),是最常見影響非常廣泛的漏洞。攻擊者通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令,從而入侵數據庫來執行未授意的任意查詢。

SQL注入可能造成的危害有:網頁、數據被篡改,核心數據被竊取,數據庫所在的服務器被攻擊,變成傀儡主機。

例如有些網站沒有使用預編譯sql,用戶在界面上輸入的一些字段被添加到sql中,很有可能這些字段包含一些惡意的sql命令。如:password = "1' OR '1'='1";即使不知道用戶密碼,也能正常登錄。

測試方法:

在需要進行查詢的頁面,輸入正確查詢條件 and 1=1等簡單sql語句,查看應答結果,如與輸入正確查詢條件返回結果一致,表明應用程序對用戶輸入未進行過濾,可以初步判斷此處存在SQL注入漏洞

二、XSS跨站腳本攻擊

SS(Cross Site Script),與SQL注入相似,XSS是通過網頁插入惡意腳本,主要用到的技術也是前端的HTML和JavaScript腳本。當用戶瀏覽網頁時,實現控制用戶瀏覽器行為的攻擊方式。

一次成功的XSS,可以獲取到用戶的cookie,利用該cookie盜取用戶對該網站的操作權限;也可以獲取到用戶聯繫人列表,利用被攻擊者的身份向特定的目標群發送大量的垃圾信息,等等。

XSS分為三類:存儲型(持久性XSS)、反射型(非持久性XSS)、DOM型。

「乾貨」常見的Web安全漏洞及測試方法介紹

「乾貨」常見的Web安全漏洞及測試方法介紹

測試方法:

在數據輸入界面,輸入:<script>alert(/123/)</script>,保存成功後如果彈出對話框,表明此處存在一個XSS 漏洞。

或把url請求中參數改為<script>alert(/123/)</script>,如果頁面彈出對話框,表明此處存在一個XSS 漏洞。

三、CSRF跨站偽造請求攻擊

CSRF(Cross Site Request Forgery),利用已登錄的用戶身份,以用戶的名義發送惡意請求,完成非法操作。

例如:用戶如果瀏覽並信任了存在CSRF漏洞的網站A,瀏覽器產生了相應的cookie,用戶在沒有退出該網站的情況下,訪問了危險網站B 。

危險網站B要求訪問網站A,發出一個請求。瀏覽器帶著用戶的cookie信息訪問了網站A,因為網站A不知道是用戶自身發出的請求還是危險網站B發出的請求,所以就會處理危險網站B的請求,這樣就完成了模擬用戶操作的目的。這就是CSRF攻擊的基本思想。

測試方法:

  1. 同個瀏覽器打開兩個頁面,一個頁面權限失效後,另一個頁面是否可操作成功,如果仍然能操作成功即存在風險。

2.使用工具發送請求,在http請求頭中不加入referer字段,檢驗返回消息的應答,應該重新定位到錯誤界面或者登錄界面。

四、文件上傳漏洞

文件上傳攻擊是指攻擊者上傳了一個可執行文件到服務器上,並執行。

這種攻擊方式是最直接有效的。上傳的文件可以是病毒、木馬、惡意腳本或者是webshell等等。

Webshell是以asp、php、jsp或者cgi等網頁文件形式存在的一種命令執行環境,也可以說是一種網頁後門。攻擊者在受影響系統防止或插入webshell後,可以通過webshell方便進入系統,達到控制網站服務器的目的。

測試方法:

對上傳的文件類型、大小等進行嚴格校驗,禁止上傳惡意代碼的文件。

對相關目錄的執行權限進行校驗,可以通過瀏覽器訪問Web 服務器上的所有目錄,檢查是否返回目錄結構,如果顯示的是目錄結構,則可能存在安全問題。

五、URL跳轉漏洞

URL跳轉漏洞,即未經驗證的重定向漏洞,是指Web程序直接跳轉到參數中的URL,或者在頁面中引入了任意開發者的URL,將程序引導到不安全的第三方區域,從而導致安全問題。

測試方法:

1.使用抓包工具抓取請求。

2.抓取302的url,修改目標地址,查看是否能跳轉。

ps:不過現在很多跳轉都加了referer的校驗導致攻擊者跳轉失敗。

總結

以上便是一些常見的Web安全漏洞及測試方法,在當下網絡安全越來越被重視的情況下,Web安全測試在測試流程中的重要性也日益凸顯,雖然也存在AppScan等漏洞掃描工具,測試人員對常見的安全漏洞也需要有一定的認知。

作者簡介:張斌,6年測試工作經驗,精通自動化測試、性能測試、持續交付以及整體產品質量提升。

"

相關推薦

推薦中...