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