摘要:\u003C\u002Fp\u003E\u003Cp\u003E1、上傳功能\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E上傳中斷,程序是否有判斷上傳是否成功\u003C\u002Fli\u003E\u003Cli\u003E上傳與服務器端語言(jsp\u002Fasp\u002Fphp)一樣擴展名的文件或exe等可執行文件後,確認在服務器端是否可直接運行\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E2、註冊功能\u002F登陸功能\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E請求是否安全傳輸\u003C\u002Fli\u003E\u003Cli\u003E重複註冊/登陸\u003C\u002Fli\u003E\u003Cli\u003E關鍵cookie是否httponly\u003C\u002Fli\u003E\u003Cli\u003E會話固定:利用session的不變機制,獲取他人認證和授權,然後冒充\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E3 、驗證碼功能\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E短信轟炸\u003C\u002Fli\u003E\u003Cli\u003E驗證碼一次性\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E4、 忘記密碼\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E通過手機號/郵箱找回\u003C\u002Fli\u003E\u003Cli\u003E程序設計不合理,導致可以繞過短信驗證碼,從而進行修改(使用burpsuite抓包,修改響應值true)\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E5 、敏感信息泄漏\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E數據庫/日誌/提示\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E6 、越權測試\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E不登陸系統,直接輸入下載文件的URL是否可以下載/直接輸入登錄後頁面的URL是否可以訪問\u003C\u002Fli\u003E\u003Cli\u003E手動更改URL中的參數值能否訪問沒有權限訪問的頁面\u003C\u002Fli\u003E\u003Cli\u003E不同用戶之間session共享,可以非法操做對方的數據\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E7 、錯誤信息\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E錯誤信息中釋放含有sql語句,錯誤信息以及web服務器的絕對路徑\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E8、 Session\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E退出登陸後,點擊後退按鈕是否能訪問之前的頁面\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E主要歸結爲以下幾點:(後期可以優化成一個安全測試的框架結構)\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E部署與基礎結構\u003C\u002Fli\u003E\u003Cli\u003E輸入驗證\u003C\u002Fli\u003E\u003Cli\u003E身份驗證\u003C\u002Fli\u003E\u003Cli\u003E授權\u003C\u002Fli\u003E\u003Cli\u003E配置管理\u003C\u002Fli\u003E\u003Cli\u003E敏感數據\u003C\u002Fli\u003E\u003Cli\u003E會話管理\u003C\u002Fli\u003E\u003Cli\u003E加密\u003C\u002Fli\u003E\u003Cli\u003E參數操作\u003C\u002Fli\u003E\u003Cli\u003E異常管理\u003C\u002Fli\u003E\u003Cli\u003E審覈和日誌安全,\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E二、結合實際情況(現有系統)發現的問題\u003C\u002Fp\u003E\u003Cp\u003E1、日誌\u002F提示\u003C\u002Fp\u003E\u003Cp\u003E在系統的初期,一般比較容易發現的問題就是在進行一些錯誤或者反向測試時,在頁面的提示中會出現帶有明顯的數據庫的表或者字段的打印,或者會出現一些敏感詞,日誌裏面類似密碼,卡號,身份證號沒有相應的明密文轉換,而這些敏感詞\u002F明密文不互轉的存在,就會導致攻擊者能夠獲取到,從而進行簡單粗暴的攻擊,輕易的攻擊服務器或者數據庫,這就會危害到整個系統。\u003C\u002Fp\u003E\u003Cp\u003E5、SQL注入\u002FXSS攻擊\u003C\u002Fp\u003E\u003Cp\u003E主要是輸入框的校驗\u002F攔截以及是否轉義,如果沒有系統沒有對輸入的內容進行處理,那攻擊者就可以輸入一段SQL語句,或者一段代碼,在後臺進入到相應的功能,就會導致整個功能是錯亂的,其他正常用戶所提交的數據也查看操作不了,或者提交的代碼是死循環(\">),就會關閉不掉,所以這點是非常重要的。

"\u003Cdiv\u003E\u003Cp\u003E隨着互聯網的飛速發展,web應用在軟件開發中所扮演的角色變得越來越重要,同時,web應用遭受着格外多的安全攻擊,其原因在於,現在的網站以及在網站上運行的應用在某種意義上來說,它是所有公司或者組織的虛擬正門,所以比較容易遭受到攻擊,存在安全隱患。\u003C\u002Fp\u003E\u003Cp\u003E今天主要給大家分享下有關安全測試的一些知識點以及注意事項。\u003C\u002Fp\u003E\u003Cp\u003E一、安全測試的驗證點\u003C\u002Fp\u003E\u003Cp\u003E一個系統的安全驗證點包括上傳功能、註冊功能\u002F登陸功能、驗證碼功能、密碼、敏感信息泄露、越權測試、錯誤信息、session等。\u003C\u002Fp\u003E\u003Cp\u003E1、上傳功能\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E上傳中斷,程序是否有判斷上傳是否成功\u003C\u002Fli\u003E\u003Cli\u003E上傳與服務器端語言(jsp\u002Fasp\u002Fphp)一樣擴展名的文件或exe等可執行文件後,確認在服務器端是否可直接運行\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E2、註冊功能\u002F登陸功能\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E請求是否安全傳輸\u003C\u002Fli\u003E\u003Cli\u003E重複註冊/登陸\u003C\u002Fli\u003E\u003Cli\u003E關鍵cookie是否httponly\u003C\u002Fli\u003E\u003Cli\u003E會話固定:利用session的不變機制,獲取他人認證和授權,然後冒充\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E3 、驗證碼功能\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E短信轟炸\u003C\u002Fli\u003E\u003Cli\u003E驗證碼一次性\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E4、 忘記密碼\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E通過手機號/郵箱找回\u003C\u002Fli\u003E\u003Cli\u003E程序設計不合理,導致可以繞過短信驗證碼,從而進行修改(使用burpsuite抓包,修改響應值true)\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E5 、敏感信息泄漏\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E數據庫/日誌/提示\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E6 、越權測試\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E不登陸系統,直接輸入下載文件的URL是否可以下載/直接輸入登錄後頁面的URL是否可以訪問\u003C\u002Fli\u003E\u003Cli\u003E手動更改URL中的參數值能否訪問沒有權限訪問的頁面\u003C\u002Fli\u003E\u003Cli\u003E不同用戶之間session共享,可以非法操做對方的數據\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E7 、錯誤信息\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E錯誤信息中釋放含有sql語句,錯誤信息以及web服務器的絕對路徑\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E8、 Session\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E退出登陸後,點擊後退按鈕是否能訪問之前的頁面\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E主要歸結爲以下幾點:(後期可以優化成一個安全測試的框架結構)\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E部署與基礎結構\u003C\u002Fli\u003E\u003Cli\u003E輸入驗證\u003C\u002Fli\u003E\u003Cli\u003E身份驗證\u003C\u002Fli\u003E\u003Cli\u003E授權\u003C\u002Fli\u003E\u003Cli\u003E配置管理\u003C\u002Fli\u003E\u003Cli\u003E敏感數據\u003C\u002Fli\u003E\u003Cli\u003E會話管理\u003C\u002Fli\u003E\u003Cli\u003E加密\u003C\u002Fli\u003E\u003Cli\u003E參數操作\u003C\u002Fli\u003E\u003Cli\u003E異常管理\u003C\u002Fli\u003E\u003Cli\u003E審覈和日誌安全,\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E二、結合實際情況(現有系統)發現的問題\u003C\u002Fp\u003E\u003Cp\u003E1、日誌\u002F提示\u003C\u002Fp\u003E\u003Cp\u003E在系統的初期,一般比較容易發現的問題就是在進行一些錯誤或者反向測試時,在頁面的提示中會出現帶有明顯的數據庫的表或者字段的打印,或者會出現一些敏感詞,日誌裏面類似密碼,卡號,身份證號沒有相應的明密文轉換,而這些敏感詞\u002F明密文不互轉的存在,就會導致攻擊者能夠獲取到,從而進行簡單粗暴的攻擊,輕易的攻擊服務器或者數據庫,這就會危害到整個系統!\u003C\u002Fp\u003E\u003Cp\u003E2、重複性\u003C\u002Fp\u003E\u003Cp\u003E大部分的web網站都會有註冊功能,而類似我們負責支付這塊也都會有開戶,就註冊跟開戶,基本上需求上都會有唯一性的校驗,在前端就會進行攔截,但如果使用jmter進行參數以及參數值的新增,有可能新增成功,就會導致頁面系統裏面會出現相同數據,可能導致整個功能的出錯。\u003C\u002Fp\u003E\u003Cp\u003E3、次數限制\u003C\u002Fp\u003E\u003Cp\u003E類似發單,登錄或者短信,如果沒有進行相應的限制,如短信,沒有進行限制次數,攻擊者就會通過短信轟炸,攻擊系統,導致系統癱瘓,其他客戶就會使用不了該系統。\u003C\u002Fp\u003E\u003Cp\u003E4、越權測試\u003C\u002Fp\u003E\u003Cp\u003E(基本上大部分系統都沒有明確的寫出越權方面的需求)一個web系統,一般地址欄都會有參數的帶入,如:用戶號,訂單號或者是其他的一些參數,而在這個基礎上一個系統都會有很多用戶,或者很多等級,如:A大於B大於C,那我使用C用戶進行登錄,查看C用戶所屬的訂單,在地址欄中會有訂單號的參數帶入,如果系統沒有進行相應的限制,此時C用戶就可以修改訂單號從而可以看到B乃至A用戶的數據,這就可能導致數據的泄露,再者,如果可以修改用戶的用戶號,沒有做處理,這樣就可以對所有數據進行操作,整個系統就亂了,影響很大。\u003C\u002Fp\u003E\u003Cp\u003E5、SQL注入\u002FXSS攻擊\u003C\u002Fp\u003E\u003Cp\u003E主要是輸入框的校驗\u002F攔截以及是否轉義,如果沒有系統沒有對輸入的內容進行處理,那攻擊者就可以輸入一段SQL語句,或者一段代碼,在後臺進入到相應的功能,就會導致整個功能是錯亂的,其他正常用戶所提交的數據也查看操作不了,或者提交的代碼是死循環(\">),就會關閉不掉,所以這點是非常重要的。\u003C\u002Fp\u003E\u003Cp\u003E基本上上述的五點都是在測試中,系統真實存在,發生的問題,還有其他問題就不一一例舉了,其中越權跟SQL注入以及XSS攻擊都是重中之重!\u003C\u002Fp\u003E\u003Cp\u003E三、克服的小困難\u003C\u002Fp\u003E\u003Cp\u003E上面所述的都是需要人工進行手動參與,且人力操作時不會那麼飽滿全面,所以這是一個遇到的小問題。現在有一個針對web系統進行漏洞掃描的工具:AWVS,它通過網絡爬蟲測試你的網站安全,檢測流行安全漏洞,針對漏洞主要分爲四個等級:高危、中危,低危以及優化,它會進行內外鏈接的安全性,文件是否存在以及傳輸是否安全,也包含SQL注入跟XSS攻擊,輸入地址,用戶名密碼後,進行掃描完成後會展示相應的數據:漏洞的數量,漏洞的描述,建議性的修復;掃描網站的時長,文件數據量,環境信息等,較爲全面!\u003C\u002Fp\u003E\u003Cp\u003E四、安全測試的思路跟框架\u003C\u002Fp\u003E\u003Cp\u003E主要根據以下六點來實現一個較爲完整的安全測試的思路,框架就是根據半手工、半自動來實現整個系統的驗證。\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E部署與基礎結構\u003C\u002Fli\u003E\u003Cli\u003E輸入驗證\u003C\u002Fli\u003E\u003Cli\u003E\u002F身份驗證(權限驗證)\u003C\u002Fli\u003E\u003Cli\u003E敏感數據\u003C\u002Fli\u003E\u003Cli\u003E參數操作\u003C\u002Fli\u003E\u003Cli\u003E審覈和日誌安全;\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E五、目前存在的問題\u002F需要優化的\u003C\u002Fp\u003E\u003Cp\u003E現在的安全測試大多是半手工、半自動化,但都不是專業級,所以還在摸索階段,只能儘可能地去發現系統中存在的漏洞,且測試理論很難適用於安全領域;\u003C\u002Fp\u003E\u003Cp\u003E安全測試基礎理論薄弱,當前測試方法缺少理論指導,也缺乏更多的技術產品工具 ;\u003C\u002Fp\u003E\u003Cp\u003E安全測試需要對系統所採用的技術以及系統的架構等進行分析,這方面也是較爲薄弱的環節!\u003C\u002Fp\u003E\u003Cp\u003E作者:王鵬飛\u003C\u002Fp\u003E\u003Cp\u003E原文:https:\u002F\u002Fmy.oschina.net\u002Fu\u002F4007037\u002Fblog\u002F3075633\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"'.slice(6, -6), groupId: '6717172589325713928
相關文章