測試數據是用來測試某一項功能的數據,比如這條數據就是管理員用來測試網站功能的。
網頁安全檢查點
輸入的數據沒有進行有效的控制和驗證測試
1)數據類型(字元串,整型,實數,等)
2)允許的字元集
3)最小和最大的長度
4)是否允許空輸入
5)參數是否是必須的
6)重複是否允許
7)數值範圍
8)特定的值(枚舉型)
9)特定的模式(正則表達式)(註:建議儘量採用白名單)
用戶名和密碼模組測試
1)檢測接口程式連線登錄時,是否需要輸入相應的用戶
2)是否設定密碼最小長度(密碼強度)
3)用戶名和密碼中是否可以有空格或回車?
4)是否允許密碼和用戶名一致
5)防惡意註冊:可否用自動填表工具自動註冊用戶?(傲遊等)
6)遺忘密碼處理
7)有無預設的超級用戶?(admin等,關鍵字需禁止)
8)有無超級密碼?
9)是否有校驗碼?
10)密碼錯誤次數有無限制?
11)大小寫敏感?
12)口令不允許以明碼顯示在輸出設備上
13)強制修改的時間間隔限制(初始默認密碼)
14)口令的唯一性限制(看需求是否需要)
15)口令過期失效後,是否可以不登入而直接瀏覽某個頁面
16)哪些頁面或者檔案需要登錄後才能訪問/下載
17)cookie中或隱藏變數中是否含有用戶名、密碼、userid等關鍵信息
網址許可權測試
直接輸入需要許可權的網頁地址可以訪問避免研發只是簡單的在客戶端不顯示許可權高的功能項舉例Bug:
1)沒有登錄或註銷登錄後,直接輸入登錄後才能查看的頁面的網址(含跳轉頁面),能直接打開頁面;
2)註銷後,點瀏覽器上的後退,可以進行操作。
3)正常登錄後,直接輸入自己沒有許可權查看的頁面的網址,可以打開頁面。
4)通過Http抓包的方式獲取Http請求信息包經改裝後重新傳送5)從許可權低的頁面可以退回到高的頁面(如傳送訊息後,瀏覽器後退到信息填寫頁面,這就是錯誤的)
上傳檔案沒有限制測試
1)上傳檔案還要有大小的限制。
2)上傳木馬病毒等(往往與許可權一起驗證)
3)上傳檔案最好要有格式的限制;
不安全的存儲測試
1)在頁面輸入密碼,頁面應顯示“*****”;
2)資料庫中存的密碼應經過加密;
3)地址欄中不可以看到剛才填寫的密碼;
4)右鍵查看源檔案不能看見剛才輸入的密碼;
5)帳號列表:系統不應該允許用戶瀏覽到網站所有的帳號,如果必須要一個用戶列表,推薦使用某種形式的假名(螢幕名)來指向實際的帳號
操作時間的失效性測試
1)檢測系統是否支持操作失效時間的配置,同時達到所配置的時間內沒有對界面進行任何操作時,檢測系統是否會將用戶自動失效,需要重新登錄系統。
2)支持操作失效時間的配置。
3)支持當用戶在所配置的時間內沒有對界面進行任何操作則該套用自動失效。如,用戶登入後在一定時間內(例如15分鐘)沒有點擊任何頁面,是否需要重新登入才能正常使用。
日誌完整性測試
1)檢測系統運行時是否會記錄完整的日誌如進行詳單查詢,檢測系統是否會記錄相應的操作員、操作時間、系統狀態、操作事項、IP位址等。
2)檢測對系統關鍵數據進行增加、修改和刪除時,系統是否會記錄相應的修改時間、操作人員和修改前的數據記錄系統伺服器安全檢查點
1)檢查關閉不必要的服務
2)是否建立安全賬號策略和安全日誌
3)是否已設定安全的IIS,刪除不必要的IIS組件和進行IIS安全配置
4)Web站點目錄的訪問許可權是否過大
5)伺服器系統補丁是否打上,是否存在系統漏洞
6)掃描檢測木馬資料庫安全檢查點
系統數據是否機密測試
1)儘量不要使用Sa賬戶,密碼夠複雜
2)嚴格控制資料庫用戶的許可權,不要輕易給用戶直接的查詢、更改、插入、刪除許可權。可以只給用戶以訪問視圖和執行存儲過程的許可權
3)資料庫的帳號,密碼(還有連線埠號)是不是直接寫在配置檔案里而沒有進行加密
2.系統數據的完整性
3.系統數據可管理性
4.系統數據的獨立性
5.系統數據可備份和恢復能力(數據備份是否完整,可否恢復,恢復是否可以完整)
1)伺服器突然斷電,這可能導致配置檔案的錯誤導致無法訪問或者數據的丟失;
2)重做日誌發生損壞,這可能導致資料庫管理員無法把數據恢復到故障發生時的點;
3)硬碟發生故障而導致數據丟失,這主要是要測試備份檔案異地存放的有效性;
4)數據批量更新的錯誤處理,這主要是資料庫備份測試資料庫管理員在進行批量更新之前是否有先對資料庫進行備份的習慣,等等。
支付寶接口檢查點
1.支付的接口
2.支付的入口
3.與各個銀行的數據接口安全
4.與支付寶的接口網頁安全測試工具IBMAppScanIBMAppScan該產品是一個領先的Web套用安全測試工具,曾以WatchfireAppScan的名稱享譽業界。RationalAppScan可自動化Web套用的安全漏洞評估工作,能掃描和檢測所有常見的Web套用安全漏洞,例如SQL注入(SQL-injection)、跨站點腳本攻擊(cross-sitescripting)、緩衝區溢出(bufferoverflow)及最新的Flash/Flex套用及Web2.0套用曝露等方面安全漏洞的掃描。HttpWatchHttpWatch是強大的網頁數據分析工具.集成在InternetExplorer工具列.包括網頁摘要.Cookies管理.快取管理.訊息頭髮送/接受.字元查詢.POST數據和目錄管理功能.報告輸出HttpWatch是一款能夠收集並顯示頁頁深層信息的軟體。它不用代理伺服器或一些複雜的網路監控工具,就能夠在顯示網頁同時顯示網頁請求和回應的日誌信息。甚至可以顯示瀏覽器快取和IE之間的交換信息。集成在InternetExplorer工具列。AcunetixWebVulnerabilityAcunetixWebVulnerability是通過緩慢運行該軟體和運行諸如交叉站點腳本和SQL湧入這樣的流行的攻擊方式來測試網站的安全性。在黑客攻擊之前識別出購物車、窗體、安全區域和網路套用軟體的攻擊弱點。通過構建HTTP和HTTPS請求擴展攻擊並且分析回響。創建或者定製弱點攻擊。支持所有
主要的網路技術
1.它將會掃描整個網站,它通過跟蹤站點上的所有連結和robots.txt(如果有的話)而實現掃描。然後WVS就會映射出站點的結構並顯示每個檔案的細節信息。
2.在上述的發現階段或掃描過程之後,WVS就會自動地對所發現的每一個頁面發動一系列的漏洞攻擊,這實質上是模擬一個黑客的攻擊過程。WVS分析每一個頁面中可以輸入數據的地方,進而嘗試所有的輸入組合。這是一個自動掃描階段。
3.在它發現漏洞之後,WVS就會在“AlertsNode(警告節點)”中報告這些漏洞。每一個警告都包含著漏洞信息和如何修復漏洞的建議。
4.在一次掃描完成之後,它會將結果保存為檔案以備日後分析以及與以前的掃描相比較。使用報告工具,就可以創建一個專業的報告來總結這次掃描。WVS自動地檢查下面的漏洞和內容:
版本檢查,包括易受攻擊的Web伺服器,易受攻擊的Web伺服器技術
CGI測試,包括檢查Web伺服器的問題,主要是決定在伺服器上是否啟用了危險的HTTP方法,例如PUT,TRACE,DELETE等等。?參數操縱:主要包括跨站腳本攻擊(XSS)、SQL注入攻擊、代碼執行、目錄遍歷攻擊、檔案入侵、腳本原始碼泄漏、CRLF注入、PHP代碼注入、XPath注入、LDAP注入、Cookie操縱、URL重定向、應用程式錯誤訊息等。
多請求參數操縱:主要是BlindSQL/XPath注入攻擊?檔案檢查:檢查備份檔案或目錄,查找常見的檔案(如日誌檔案、應用程式蹤跡等),以及URL中的跨站腳本攻擊,還要檢查腳本錯誤等。
目錄檢查,主要查看常見的檔案,發現敏感的檔案和目錄,發現路徑中的跨站腳本攻擊等。?Web應用程式:檢查特定Web應用程式的已知漏洞的大型資料庫,例如論壇、Web入口、CMS系統、電子商務應用程式和PHP庫等。
文本搜尋:目錄列表、原始碼揭示、檢查電子郵件地址、微軟Office中可能的敏感信息、錯誤訊息等。
GHDBGoogle攻擊資料庫:可以檢查資料庫中1400多條GHDB搜尋項目。
Web服務:主要是參數處理,其中包括SQL注入/BlindSQL注入(即盲注攻擊)、代碼執行、XPath注入、應用程式錯誤訊息等。使用該軟體所提供的手動工具,還可以執行其它的漏洞測試,包括輸入合法檢查、驗證攻擊、緩衝區溢出等。
信息安全入侵測試
上傳漏洞
上傳漏洞利用上傳漏洞可以直接得到網頁管理員許可權,危害等級超級高,現在的入侵中上傳漏洞也是常見的漏洞。“上傳漏洞”入侵是目前對網站最廣泛的入侵方法。90%的具有上傳頁面的網站,都存在上傳漏洞。網站有上傳頁面,如果頁面對上傳檔案擴展名過濾不嚴,導致黑客能直接上傳帶木馬的檔案,直接上傳後即擁有網站的管理員控制權。
暴力暴庫
暴庫暴庫,就是通過一些技術手段或者程式漏洞得到資料庫的地址,並將數據非法下載到本地。比如一個站的地址為http://www.xxx.com/dispbbs.asp?boardID=7&ID=161,就可以把com/dispbbs中間的/換成%5c,如果有漏洞直接得到資料庫的絕對路徑。用迅雷什麼的下載下來就可以了。還有種方法就是利用默認的資料庫路徑http://www.xxx.com/後面加上conn.asp如果沒有修改默認的資料庫路徑也可以得到資料庫的路徑。
注入測試
注入漏洞注入漏洞是利用某些輸入或者資料輸入特性以導入某些資料或者代碼,造成目標系統操作崩潰的電腦漏洞,通常這些漏洞安全隱患是由不充分的輸入確認及其他種種因素造成的。我們需要使用到以下幾種方式進行測試:
3.1SQL攻擊,簡稱注入攻擊,是發生於應用程式之資料庫層的安全漏洞。簡而言之,是在輸入的字元串之中注入SQL指令,在設計不良的程式當中忽略了檢查,那么這些注入進去的指令就會被資料庫伺服器誤認為是正常的SQL指令而運行,因此遭到破壞。測試方法:某個網站的登錄驗證的SQL查詢代碼為strSQL="SELECT*FROMusersWHERE(name='"+userName+"')and(pw='"+passWord+"');"惡意填入userName="'OR'1'="1";與passWord=""OR'1'="1";時,將導致原本的SQL字元串被填為strSQL="SELECT*FROMusersWHERE(name="'OR'1'="1")and(pw=''OR'1'="1");"也就是實際上運行的SQL命令會變成下面這樣的strSQL="SELECT*FROMusers;"因此達到無帳號密碼,亦可登錄網站。
3.2跨網站指令碼(Cross-sitescripting,通常簡稱為XSS)是一種網站套用程式的安全漏洞攻擊,允許惡意使用者將程式碼注入到網頁上,其他使用者在觀看網頁時就會受到影響。這類攻擊通常包含了HTML以及使用者端腳本語言。測試方法:通常有一些方式可以測試網站是否有正確處理特殊字元:><script>alert(document.cookie)</script>="><script>alert(document.cookie)</script><script>alert(document.cookie)</script><script>alert(vulnerable)</script>%3Cscript%3Ealert("XSS')%3C/script%3E<script>alert('XSS')</script><imgsrc="javascript.:alert('XSS')"><imgsrc="http://xxx.com/yyy.png"><divstyle="height:expression(alert('XSS'),1)"/>(這個僅限IE有效)使用者可做一個網頁,試著用JavaScript把document.cookie當成參數丟過去,然後再把它記錄下來,這即是偷cookie。XSS攻擊方法有:偷cookie。利用iframe.或frame.存取管理頁面或後台頁面。利用XMLHttpRequest存取管理頁面或後台頁面。
旁註測試
旁註我們入侵某站時可能這個站堅固的無懈可擊,我們可以找下和這個站同一伺服器的站點,然後在利用這個站點用提權,嗅探等方法來入侵我們要入侵的站點。5COOKIE詐欺COOKIE是上網時由網站所為傳送的值,記錄了你的一些資料,比如IP,姓名。如果已經知道了XX站管理員的站號和MD5密碼了,但是破解不出來密碼(現在MD5密碼已經可以破解了,假如網站密碼不單單是用MD5加密,還用了其他加密方法,如果要分析算法那就複雜了)。就可以用COOKIE詐欺來實現,把自己的ID修改成管理員的,MD5密碼也修改成他的,有工具可以修改COOKIE這樣就答到了COOKIE詐欺的目的,系統以為你就是管理員了。