背景介紹
Web應用程式通常是指通過HTTP / HTTPS協議共同提供服務的B / S體系結構。 隨著Internet的發展,Web應用程式已集成到我們日常生活的各個方面。 在當前的Web應用程式中,大多數應用程式不是靜態Web瀏覽,而是涉及伺服器的動態處理。 如果開發人員的安全意識不強,將導致無休止的Web應用程式安全問題。
我們通常指的Web應用程式攻擊是指攻擊者通過瀏覽器或其他攻擊工具向URL或其他輸入區域(例如表單)中的Web伺服器發送特殊請求,以發現Web應用程式的存在。 反過來,通過操作和控制網站來達到入侵者的目的。
常見的安全漏洞
一,SQL注入
SQL注入(SQL Injection)是最常見的漏洞,具有多種影響。 攻擊者將SQL命令插入Web表單以提交或輸入域名或頁面請求的查詢字符串,並最終誘使伺服器執行惡意SQL命令,從而入侵資料庫以執行任意查詢。
SQL注入可能造成的危害是:篡改了網頁和數據,竊取了核心數據,攻擊了資料庫所在的伺服器,並使之成為a主機。
例如,某些網站不使用預編譯的SQL,並且用戶在界面上輸入的某些欄位將添加到SQL。 這些欄位可能包含一些惡意SQL命令。 例如:password =「 1'OR'1'='1」; 即使您不知道用戶密碼,也可以正常登錄。
測試方法:
在需要查詢的頁面上,輸入簡單的SQL語句,例如正確的查詢條件和1 = 1,然後檢查響應結果。如果結果與正確的查詢條件相符,則表明該應用程式尚未篩選用戶輸入,並且可以初步判斷它存在。 SQL注入漏洞
二,XSS跨站點腳本攻擊
SS(跨站點腳本)類似於SQL注入,XSS通過網頁插入惡意腳本。使用的主要技術是前端HTML和JavaScript腳本。當用戶瀏覽網頁時,將實施一種控制用戶瀏覽器行為的攻擊方法。
成功的XSS可以獲取用戶的cookie,並使用該cookie竊取用戶在網站上的操作權限。它還可以獲取用戶的聯繫人列表,並使用攻擊者的身份將大量垃圾郵件發送到特定的目標組。 ,還有很多。
XSS分為三類:存儲(持久XSS),反射(非持久XSS)和DOM。
測試方法:
在數據輸入界面上,輸入:保存成功後,彈出對話框,提示存在XSS漏洞。
或更改url請求中的參數。如果頁面上彈出對話框,則表明存在XSS漏洞。
三,CSRF跨站偽造請求攻擊
CSRF(Cross Site Request Forgery),利用已登錄的用戶身份,以用戶的名義發送惡意請求,完成非法操作。
例如,如果用戶瀏覽並信任具有CSRF漏洞的網站A,則瀏覽器會生成相應的cookie,並且用戶訪問危險的網站B而不退出網站。
危險網站B要求訪問網站A並提出要求。 瀏覽器使用用戶的cookie信息訪問網站A。 由於網站A不知道是用戶自身發出的請求還是危險網站B發出的請求,因此將處理危險網站B的請求,從而完成了用戶操作目的的模擬。 這是CSRF攻擊的基本思路。
測試方法:
同個瀏覽器打開兩個頁面,一個頁面權限失效後,另一個頁面是否可操作成功,如果仍然能操作成功即存在風險。2.使用工具發送請求,在http請求頭中不加入referer欄位,檢驗返回消息的應答,應該重新定位到錯誤界面或者登錄界面。
四,文件上傳漏洞
文件上傳攻擊是指攻擊者將可執行文件上傳到伺服器並執行該文件時。
這種攻擊方法是最直接,最有效的。 上載的文件可以是病毒,特洛伊木馬,惡意腳本或Webshell。
Webshell是Web文件(例如asp,php,jsp或cgi)形式的命令執行環境。 也可以說是Web後門。 攻擊者阻止或在受影響的系統上插入Web Shell之後,他可以輕鬆地通過Web Shell訪問系統以控制Web伺服器。
測試方法:
嚴格檢查上傳文件的類型和大小,禁止上傳帶有惡意代碼的文件。
檢查相關目錄的執行權限。 您可以通過瀏覽器訪問Web伺服器上的所有目錄,並檢查是否返回了目錄結構。 如果顯示目錄結構,則可能存在安全問題。
五,URL跳轉漏洞
URL跳轉漏洞,即未經驗證的重定向漏洞,是指Web程序直接跳轉到參數中的URL,或者在頁面中引入了任意開發者的URL,將程序引導到不安全的第三方區域,從而導致安全問題。
測試方法:
1.使用數據包捕獲工具捕獲請求。
2.抓住302 URL,修改目標地址,然後查看它是否可以跳轉。
ps:但是現在很多跳轉都添加了引薦來源驗證,這導致攻擊者無法跳轉。
總結
以上是一些常見的Web安全漏洞和測試方法。 隨著對網絡安全性的日益重視,Web安全性測試在測試過程中的重要性日益突出。 儘管也有諸如AppScan之類的漏洞掃描工具,但測試人員還需要具有一些常見的安全漏洞的知識。
本文由源碼交易平臺碼源網整理髮布。