當前位置:
首頁 > 最新 > 網站安全測試技術

網站安全測試技術

網頁安全檢查點

1 輸入的數據沒有進行有效的控制和驗證

1) 數據類型(字元串,整型,實數,等)

2) 允許的字符集

3) 最小和最大的長度

4) 是否允許空輸入

5) 參數是否是必須的

6) 重複是否允許

7) 數值範圍

8) 特定的值(枚舉型)

9) 特定的模式(正則表達式)(註:建議盡量採用白名單)

2 用戶名和密碼

1) 檢測介面程序連接登錄時,是否需要輸入相應的用戶

2) 是否設置密碼最小長度(密碼強度)

3) 用戶名和密碼中是否可以有空格或回車?

4) 是否允許密碼和用戶名一致

5) 防惡意註冊:可否用自動填表工具自動註冊用戶? (傲遊等)

6) 遺忘密碼處理

7) 有無預設的超級用戶?(admin等,關鍵字需屏蔽)

8) 有無超級密碼?

9) 是否有校驗碼?

10) 密碼錯誤次數有無限制?

11) 大小寫敏感?

12) 口令不允許以明碼顯示在輸出設備上

13) 強制修改的時間間隔限制(初始默認密碼)

14) 口令的唯一性限制(看需求是否需要)

15) 口令過期失效後,是否可以不登陸而直接瀏覽某個頁面

16) 哪些頁面或者文件需要登錄後才能訪問/下載

17) cookie中或隱藏變數中是否含有用戶名、密碼、userid等關鍵信息

3 直接輸入需要許可權的網頁地址可以訪問

避免研發只是簡單的在客戶端不顯示許可權高的功能項

舉例Bug:

1) 沒有登錄或註銷登錄後,直接輸入登錄後才能查看的頁面的網址(含跳轉頁面),能直接打開頁面;

2) 註銷後,點瀏覽器上的後退,可以進行操作。

3) 正常登錄後,直接輸入自己沒有許可權查看的頁面的網址,可以打開頁面。

4) 通過Http抓包的方式獲取Http請求信息包經改裝後重新發送

5) 從許可權低的頁面可以退回到高的頁面(如發送消息後,瀏覽器後退到信息填寫頁面,這就是錯誤的)

4 上傳文件沒有限制

1) 上傳文件還要有大小的限制。

2) 上傳木馬病毒等(往往與許可權一起驗證)

3) 上傳文件最好要有格式的限制;

5 不安全的存儲

1) 在頁面輸入密碼,頁面應顯示 「*****」;

2) 資料庫中存的密碼應經過加密;

3) 地址欄中不可以看到剛才填寫的密碼;

4) 右鍵查看源文件不能看見剛才輸入的密碼;

5) 帳號列表:系統不應該允許用戶瀏覽到網站所有的帳號,如果必須要一個用戶列表,推薦使用某種形式的假名(屏幕名)來指向實際的帳號

6 操作時間的失效性

1) 檢測系統是否支持操作失效時間的配置,同時達到所配置的時間內沒有對界面進行任何操作時,檢測系統是否會將用戶自動失效,需要重新登錄系統。

2) 支持操作失效時間的配置。

3) 支持當用戶在所配置的時間內沒有對界面進行任何操作則該應用自動失效。

如,用戶登陸後在一定時間內(例如15 分鐘)沒有點擊任何頁面,是否需要重新登陸才能正常使用。

7 日誌完整性

1) 檢測系統運行時是否會記錄完整的日誌

如進行詳單查詢,檢測系統是否會記錄相應的操作員、操作時間、系統狀態、操作事項、IP地址等。

2) 檢測對系統關鍵數據進行增加、修改和刪除時,系統是否會記錄相應的修改時間、操作人員和修改前的數據記錄

系統伺服器安全檢查點

1)檢查關閉不必要的服務

2)是否建立安全賬號策略和安全日誌

3)是否已設置安全的IIS,刪除不必要的IIS組件和進行IIS安全配置

4)Web站點目錄的訪問許可權是否過大

5)伺服器系統補丁是否打上,是否存在系統漏洞

6)掃描檢測木馬

資料庫安全檢查點

1.系統數據是否機密

1)盡量不要使用Sa賬戶,密碼夠複雜

2)嚴格控制資料庫用戶的許可權,不要輕易給用戶直接的查詢、更改、插入、刪除許可權。可以只給用戶以訪問視圖和執行存儲過程的許可權

3)資料庫的帳號,密碼(還有埠號)是不是直接寫在配置文件里而沒有進行加密

2.系統數據的完整性

3.系統數據可管理性

4.系統數據的獨立性

5.系統數據可備份和恢復能力(數據備份是否完整,可否恢復,恢復是否可以完整)

1)伺服器突然斷電,這可能導致配置文件的錯誤導致無法訪問或者數據的丟失;

2)重做日誌發生損壞,這可能導致資料庫管理員無法把數據恢復到故障發生時的點;

3)硬碟發生故障而導致數據丟失,這主要是要測試備份文件異地存放的有效性;

4)數據批量更新的錯誤處理,這主要是資料庫備份測試資料庫管理員在進行批量更新之前是否有先對資料庫進行備份的習慣,等等。

支付寶介面檢查點

1. 支付的介面

2. 支付的入口

3. 與各個銀行的數據介面安全

4. 與支付寶的介面

網頁安全測試工具

IBM AppScan

IBM AppScan該產品是一個領先的 Web 應用安全測試工具,曾以 Watchfire AppScan 的名稱享譽業界。Rational AppScan 可自動化 Web 應用的安全漏洞評估工作,能掃描和檢測所有常見的 Web 應用安全漏洞,例如 SQL 注入(SQL-injection)、跨站點腳本攻擊(cross-site scripting)、緩衝區溢出(buffer overflow)及最新的 Flash/Flex 應用及 Web 2.0 應用曝露等方面安全漏洞的掃描。

HttpWatch

HttpWatch是強大的網頁數據分析工具.集成在Internet Explorer工具欄.包括網頁摘要.Cookies管理.緩存管理.消息頭髮送/接受.字元查詢.POST 數據和目錄管理功能.報告輸出 HttpWatch 是一款能夠收集並顯示頁頁深層信息的軟體。它不用代理伺服器或一些複雜的網路監控工具,就能夠在顯示網頁同時顯示網頁請求和回應的日誌信息。甚至可以顯示瀏覽器緩存和IE之間的交換信息。集成在Internet Explorer工具欄。

Acunetix Web Vulnerability

Acunetix Web Vulnerability是通過緩慢運行該軟體和運行諸如交叉站點腳本和SQL湧入這樣的流行的攻擊方式來測試網站的安全性。在黑客攻擊之前識別出購物車、窗體、安全區域和網路應用軟體的攻擊弱點。通過構建HTTP和HTTPS請求擴展攻擊並且分析響應。創建或者定製弱點攻擊。支持所有主要的網路技術。

1.它將會掃描整個網站,它通過跟蹤站點上的所有鏈接和robots.txt(如果有的話)而實現掃描。然後WVS就會映射出站點的結構並顯示每個文件的細節信息。

2.在上述的發現階段或掃描過程之後,WVS就會自動地對所發現的每一個頁面發動一系列的漏洞攻擊,這實質上是模擬一個黑客的攻擊過程。WVS分析每一個頁面中可以輸入數據的地方,進而嘗試所有的輸入組合。這是一個自動掃描階段。

3.在它發現漏洞之後,WVS就會在「Alerts Node(警告節點)」中報告這些漏洞。每一個警告都包含著漏洞信息和如何修復漏洞的建議。

4.在一次掃描完成之後,它會將結果保存為文件以備日後分析以及與以前的掃描相比較。使用報告工具,就可以創建一個專業的報告來總結這次掃描。

WVS自動地檢查下面的漏洞和內容:

?版本檢查,包括易受攻擊的Web伺服器,易受攻擊的Web伺服器技術 ?CGI測試,包括檢查Web伺服器的問題,主要是決定在伺服器上是否啟用了危險的HTTP方法,例如PUT,TRACE,DELETE等等。 ?參數操縱:主要包括跨站腳本攻擊(XSS)、SQL注入攻擊、代碼執行、目錄遍歷攻擊、文件入侵、腳本源代碼泄漏、CRLF注入、PHP代碼注入、XPath注入、LDAP注入、Cookie操縱、URL重定向、應用程序錯誤消息等。 ?多請求參數操縱:主要是Blind SQL / XPath注入攻擊

?文件檢查:檢查備份文件或目錄,查找常見的文件(如日誌文件、應用程序蹤跡等),以及URL中的跨站腳本攻擊,還要檢查腳本錯誤等。 ?目錄檢查,主要查看常見的文件,發現敏感的文件和目錄,發現路徑中的跨站腳本攻擊等。

?Web應用程序:檢查特定Web應用程序的已知漏洞的大型資料庫,例如論壇、Web入口、CMS系統、電子商務應用程序和PHP庫等。 ?文本搜索:目錄列表、源代碼揭示、檢查電子郵件地址、微軟Office中可能的敏感信息、錯誤消息等。 ?GHDB Google攻擊資料庫:可以檢查資料庫中1400多條GHDB搜索項目。

?Web服務:主要是參數處理,其中包括SQL注入/Blind SQL注入(即盲注攻擊)、代碼執行、XPath注入、應用程序錯誤消息等。 使用該軟體所提供的手動工具,還可以執行其它的漏洞測試,包括輸入合法檢查、驗證攻擊、緩衝區溢出等。

信息安全入侵測試

1上傳漏洞

利用上傳漏洞可以直接得到網頁管理員許可權,危害等級超級高,現在的入侵中上傳漏洞也是常見的漏洞。「上傳漏洞」入侵是目前對網站最廣泛的入侵方法。90%的具有上傳頁面的網站,都存在上傳漏洞。網站有上傳頁面,如果頁面對上傳文件擴展名過濾不嚴,導致黑客能直接上傳帶木馬的文件,直接上傳後即擁有網站的管理員控制權。

2暴庫

暴庫,就是通過一些技術手段或者程序漏洞得到資料庫的地址,並將數據非法下載到本地。比如一個站的地址為http://www.xxx.com/dispbbs.asp?boardID=7&ID=161,就可以把com/dispbbs中間的/換成%5c,如果有漏洞直接得到資料庫的絕對路徑。用迅雷什麼的下載下來就可以了。還有種方法就是利用默認的資料庫路徑http://www.xxx.com/後面加上 conn.asp 如果沒有修改默認的資料庫路徑也可以得到資料庫的路徑。

3注入漏洞

注入漏洞是利用某些輸入或者資料輸入特性以導入某些資料或者代碼,造成目標系統操作崩潰的電腦漏洞,通常這些漏洞安全隱患是由不充分的輸入確認及其他種種因素造成的。我們需要使用到以下幾種方式進行測試:

3.1 SQL攻擊,簡稱注入攻擊,是發生於應用程序之資料庫層的安全漏洞。簡而言之,是在輸入的字元串之中注入SQL指令,在設計不良的程序當中忽略了檢查,那麼這些注入進去的指令就會被資料庫伺服器誤認為是正常的SQL指令而運行,因此遭到破壞。

測試方法:

某個網站的登錄驗證的SQL查詢代碼為

strSQL = "SELECT * FROM users WHERE (name = "" + userName + "") and (pw = ""+ passWord +"");"

惡意填入

userName = "" OR "1"="1";

passWord = "" OR "1"="1";

時,將導致原本的SQL字元串被填為

strSQL = "SELECT * FROM users WHERE (name = "" OR "1"="1") and (pw = "" OR "1"="1");"

也就是實際上運行的SQL命令會變成下面這樣的

strSQL = "SELECT * FROM users;"

因此達到無帳號密碼,亦可登錄網站。

3.2 跨網站指令碼(Cross-site scripting,通常簡稱為XSS)是一種網站應用程式的安全漏洞攻擊,允許惡意使用者將程式碼注入到網頁上,其他使用者在觀看網頁時就會受到影響。這類攻擊通常包含了HTML以及使用者端腳本語言。

測試方法:

通常有一些方式可以測試網站是否有正確處理特殊字元:

>

=">

%3Cscript%3Ealert("XSS")%3C/script%3E

(這個僅限 IE 有效)

使用者可做一個網頁,試著用JavaScript把document.cookie當成參數丟過去,然後再把它記錄下來,這即是偷 cookie 。

XSS攻擊方法有:

偷 cookie 。

利用 iframe. 或 frame. 存取管理頁面或後台頁面。

利用 XMLHttpRequest 存取管理頁面或後台頁面。

4旁註

我們入侵某站時可能這個站堅固的無懈可擊,我們可以找下和這個站同一伺服器的站點,然後在利用這個站點用提權,嗅探等方法來入侵我們要入侵的站點。

5COOKIE詐騙

COOKIE是上網時由網站所為發送的值,記錄了你的一些資料,比如IP,姓名。如果已經知道了XX站管理員的站號和MD5密碼了,但是破解不出來密碼(現在MD5密碼已經可以破解了,假如網站密碼不單單是用MD5加密,還用了其他加密方法,如果要分析演算法那就複雜了)。就可以用COOKIE詐騙來實現,把自己的ID修改成管理員的,MD5密碼也修改成他的,有工具可以修改COOKIE這樣就答到了COOKIE詐騙的目的,系統以為你就是管理員了。

點擊屏幕右上方分享給好友

讓閱讀分享成為一種習慣


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 門道科技集團 的精彩文章:

WEB測試瀏覽器兼容性問題你知多少?

TAG:門道科技集團 |