web安全測試必須注意的五個方面

隨着互聯網的飛速發展,web應用在軟件開發中所扮演的角色變得愈來愈重要,同時,web應用遭受着格外多的安全攻擊,其緣由在於,如今的網站以及在網站上運行的應用在某種意義上來講,它是全部公司或者組織的虛擬正門,因此比較容易遭受到攻擊,存在安全隱患。php

今天主要給你們分享下有關安全測試的一些知識點以及注意事項。前端

1、安全測試的驗證點

一個系統的安全驗證點包括上傳功能、註冊功能/登錄功能、驗證碼功能、密碼、敏感信息泄露、越權測試、錯誤信息、session等。web

一、上傳功能sql

  • 上傳中斷,程序是否有判斷上傳是否成功數據庫

  • 上傳與服務器端語言(jsp/asp/php)同樣擴展名的文件或exe等可執行文件後,確認在服務器端是否可直接運行安全

二、註冊功能/登錄功能服務器

  • 請求是否安全傳輸cookie

  • 重複註冊/登錄網絡

  • 關鍵cookie是否httponlysession

  • 會話固定:利用session的不變機制,獲取他人認證和受權,而後冒充

3 、驗證碼功能

  • 短信轟炸

  • 驗證碼一次性

四、 忘記密碼

  • 經過手機號/郵箱找回

  • 程序設計不合理,致使能夠繞太短信驗證碼,從而進行修改(使用burpsuite抓包,修改響應值true)

5 、敏感信息泄漏

  • 數據庫/日誌/提示

6 、越權測試

  • 不登錄系統,直接輸入下載文件的URL是否能夠下載/直接輸入登陸後頁面的URL是否能夠訪問

  • 手動更改URL中的參數值可否訪問沒有權限訪問的頁面

  • 不一樣用戶之間session共享,能夠非法操作對方的數據

7 、錯誤信息

  • 錯誤信息中釋放含有sql語句,錯誤信息以及web服務器的絕對路徑

八、 Session

  • 退出登錄後,點擊後退按鈕是否能訪問以前的頁面

主要歸結爲如下幾點:(後期能夠優化成一個安全測試的框架結構)

  • 部署與基礎結構
  • 輸入驗證
  • 身份驗證
  • 受權
  • 配置管理
  • 敏感數據
  • 會話管理
  • 加密
  • 參數操做
  • 異常管理
  • 審覈和日誌安全,

2、結合實際狀況(現有系統)發現的問題

一、日誌/提示

在系統的初期,通常比較容易發現的問題就是在進行一些錯誤或者反向測試時,在頁面的提示中會出現帶有明顯的數據庫的表或者字段的打印,或者會出現一些敏感詞,日誌裏面相似密碼,卡號,身份證號沒有相應的明密文轉換,而這些敏感詞/明密文不互轉的存在,就會致使攻擊者可以獲取到,從而進行簡單粗暴的攻擊,輕易的攻擊服務器或者數據庫,這就會危害到整個系統!

二、重複性

大部分的web網站都會有註冊功能,而相似咱們負責支付這塊也都會有開戶,就註冊跟開戶,基本上需求上都會有惟一性的校驗,在前端就會進行攔截,但若是使用jmter進行參數以及參數值的新增,有可能新增成功,就會致使頁面系統裏面會出現相同數據,可能致使整個功能的出錯。

三、次數限制

相似發單,登陸或者短信,若是沒有進行相應的限制,如短信,沒有進行限制次數,攻擊者就會經過短信轟炸,攻擊系統,致使系統癱瘓,其餘客戶就會使用不了該系統。

四、越權測試

(基本上大部分系統都沒有明確的寫出越權方面的需求)一個web系統,通常地址欄都會有參數的帶入,如:用戶號,訂單號或者是其餘的一些參數,而在這個基礎上一個系統都會有不少用戶,或者不少等級,如:A大於B大於C,那我使用C用戶進行登陸,查看C用戶所屬的訂單,在地址欄中會有訂單號的參數帶入,若是系統沒有進行相應的限制,此時C用戶就能夠修改訂單號從而能夠看到B乃至A用戶的數據,這就可能致使數據的泄露,再者,若是能夠修改用戶的用戶號,沒有作處理,這樣就能夠對全部數據進行操做,整個系統就亂了,影響很大。

五、SQL注入/XSS攻擊

主要是輸入框的校驗/攔截以及是否轉義,若是沒有系統沒有對輸入的內容進行處理,那攻擊者就能夠輸入一段SQL語句,或者一段代碼,在後臺進入到相應的功能,就會致使整個功能是錯亂的,其餘正經常使用戶所提交的數據也查看操做不了,或者提交的代碼是死循環(">),就會關閉不掉,因此這點是很是重要的。

基本上上述的五點都是在測試中,系統真實存在,發生的問題,還有其餘問題就不一一例舉了,其中越權跟SQL注入以及XSS攻擊都是重中之重!

3、克服的小困難

上面所述的都是須要人工進行手動參與,且人力操做時不會那麼飽滿全面,因此這是一個遇到的小問題。如今有一個針對web系統進行漏洞掃描的工具:AWVS,它經過網絡爬蟲測試你的網站安全,檢測流行安全漏洞,針對漏洞主要分爲四個等級:高危、中危,低危以及優化,它會進行內外連接的安全性,文件是否存在以及傳輸是否安全,也包含SQL注入跟XSS攻擊,輸入地址,用戶名密碼後,進行掃描完成後會展現相應的數據:漏洞的數量,漏洞的描述,建議性的修復;掃描網站的時長,文件數據量,環境信息等,較爲全面!

4、安全測試的思路跟框架

主要根據如下六點來實現一個較爲完整的安全測試的思路,框架就是根據半手工、半自動來實現整個系統的驗證。

  • 部署與基礎結構
  • 輸入驗證
  • /身份驗證(權限驗證)
  • 敏感數據
  • 參數操做
  • 審覈和日誌安全;

5、目前存在的問題/須要優化的

如今的安全測試大可能是半手工、半自動化,但都不是專業級,因此還在摸索階段,只能儘量地去發現系統中存在的漏洞,且測試理論很難適用於安全領域;

安全測試基礎理論薄弱,當前測試方法缺乏理論指導,也缺少更多的技術產品工具 ;

安全測試須要對系統所採用的技術以及系統的架構等進行分析,這方面也是較爲薄弱的環節!

做者:王鵬飛

來源:宜信技術學院

7月25日晚8點,線上直播,【AI中臺——智能聊天機器人平臺】,點擊瞭解詳情。

相關文章
相關標籤/搜索