青草青永久在线

1. 黑盒滲透測試

通過采用適當測試手段,發現測試目標在服務系統認證及授權、代碼審查、被信任系統的測試、文件接口模塊報警響應等方面存在的安全漏洞,并現場演示再現利用該漏洞可能造成的客戶資金損失,并提供避免或防范此類威脅、風險或漏洞的具體改進或加固措施。

應用程序及代碼在開發過程中,由于開發者缺乏安全意識,疏忽大意極為容易導致應用系統存在可利用的安全漏洞。一般包括SQL注入漏洞、跨站腳本漏洞、上傳漏洞、CSRF跨站請求偽造漏洞等。

1.1. SQL注入

SQL注入漏洞的產生原因是網站程序在編寫時,沒有對用戶輸入數據的合法性進行判斷,導致應用程序存在安全隱患。SQL注入漏洞攻擊就是利用現有應用程序沒有對用戶輸入數據的合法性進行判斷,將惡意的SQL命令注入到后臺數據庫引擎執行的黑客攻擊手段。

1.2. 跨站腳本

跨站腳本攻擊簡稱為XSS又叫CSS (Cross Site Script Execution),是指服務器端的CGI程序沒有對用戶提交的變量中的HTML代碼進行有效的過濾或轉換,允許攻擊者往WEB頁面里插入對終端用戶造成影響或損失的HTML代碼。

1.3. 表單繞過

表單繞過是指在登錄表單時可以利用一些特殊字符繞過對合法用戶的認證體系,這造成對用戶輸入的字符沒有進行安全性檢測,攻擊者可利用該漏洞進行SQL注入攻擊。

1.4. 上傳漏洞

上傳漏洞是指網站開發者在開發時在上傳頁面中針對文件格式(如asp、php等)和文件路徑過濾不嚴格,導致攻擊者可以在網站上上傳木馬,非法獲取webshell權限。

1.5. 文件包含

目標網站允許用戶調用網站程序函數進行文件包含,同時未對所包含文件的類型及內容進行嚴格過濾。

1.6. 已知木馬

目標網站被攻擊者植入惡意木馬已知木馬包括攻擊者在進行網站入侵時留下的后門程序和網頁掛馬兩種:后門程序嚴重危害網站安全,攻擊者可利用該后門直接獲取整個網站的控制權限,可對網站進行任意操作,甚至以網站為跳板,獲取整個內網服務器的控制權限;網頁掛馬嚴重危害網站用戶安全,用戶對已被掛馬的網頁進行瀏覽和訪問,其PC機自動下載并執行木馬程序,導致用戶PC機被攻擊,同時嚴重危害網站的信譽和形象。

1.7. 敏感信息泄露

敏感信息泄漏漏洞指泄漏有關WEB應用系統的信息,例如,用戶名、物理路徑、目錄列表和軟件版本。盡管泄漏的這些信息可能不重要,然而當這些信息聯系到其他漏洞或錯誤設置時,可能產生嚴重的后果。例如:某源代碼泄漏了SQL服務器系統管理員賬號和密碼,且SQL服務器端口能被攻擊者訪問,則密碼可被攻擊者用來登錄SQL服務器,從而訪問數據或運行系統命令。

以下幾個是比較典型的敏感信息泄露漏洞:

源碼信息泄露;

備份信息泄露;

錯誤信息泄露;

測試賬戶泄露;

測試文件泄露;

絕對路徑泄露;

1.8. 惡意代碼

惡意代碼泛指沒有作用卻帶來危險的代碼,其普遍的特征是具有惡意的目的;本身是一個獨立的程序,通過執行發生作用。由于應用系統存在可被利用的安全漏洞,可能已被惡意人員植入惡意代碼以獲取相應權限或用以傳播病毒。

1.9. 解析漏洞

解析漏洞是指沒有對解析的內容進行嚴格的定義,被攻擊者利用,可能會使系統對帶有木馬的文件進行了解析并執行,導致敏感信息被竊取、篡改,甚至是系統奔潰。

1.10. 遠程代碼執行漏洞

遠程執行任意代碼漏洞是指由于配置失誤(有時我們在用戶認證只顯示給用戶認證過的頁面和菜單選項,而實際上這些僅僅是表示層的訪問控制而不能真正生效),攻擊者能夠很容易的就偽造請求直接訪問未被授權的頁面。

1.11. 任意文件讀取

系統開發過程中沒有重視安全問題或使用不安全的第三方組件等,導致任意文件可讀取,可導致入侵者獲得數據庫權限,并利用數據庫提權進一步獲得系統權限。

1.12. 目錄遍歷

目錄遍歷是指由于程序中沒有過濾用戶輸入的../和./之類的目錄跳轉符,導致攻擊者通過提交目錄跳轉來遍歷服務器上的任意文件

1.13. 目錄列出

目錄列出是指攻擊者通過對訪問的URL分析,得到一個敏感的一級或二級目錄名稱,然后訪問該目錄,返回結果會將會顯示指定目錄及其子目錄下的所有文件,從而可以尋找并獲取敏感信息(如備份文件存放地址、數據庫連接文件源碼、系統敏感文件內容等),甚至可以通過在地址欄中修改URL來挖掘這個目錄結構。

1.14. 跨站請求偽造

跨站請求偽造(Cross-site request forgery,縮寫為CSRF),也被稱成為“one click attack”或者session riding,通常縮寫為CSRF或者XSRF,是一種對網站的惡意利用。盡管聽起來像跨站腳本(XSS),但它與XSS非常不同,并且攻擊方式幾乎相左。XSS利用站點內的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網站。與XSS攻擊相比,CSRF攻擊往往不大流行(因此對其進行防范的資源也相當稀少)和難以防范,所以被認為比XSS更具危險性。

1.15. 弱口令

弱口令通常有以下幾種情況:用戶名和密碼是系統默認、空口令、口令長度過短、口令選擇與本身特征相關等。系統、應用程序、數據庫存在弱口令可以導致入侵者直接得到系統權限、修改盜取數據庫中敏感數據、任意篡改頁面等。

1.16. 不安全對象引用

不安全的對象引用是指程序在調用對象的時候未對該對象的有效性、安全性進行必要的校驗,如:某些下載程序會以文件名作為下載程序的參數傳遞,而在傳遞后程序未對該參數的有效性和安全性進行檢驗,而直接按傳遞的文件名來下載文件,這就可能造成惡意用戶通過構造敏感文件名而達成下載服務端敏感文件的目的。

1.17. 安全配置錯誤

某些HTTP應用程序,或第三方插件,在使用過程中由于管理人員或開發人員的疏忽,可能未對這些程序或插件進行必要的安全配置和修改,這就很容易導致敏感信息的泄露。而對于某些第三方插件來說,如果存在安全隱患,更有可能對服務器獲得部分控制權限。

1.18. 鏈接地址重定向

重定向就是通過各種的方法將各種網絡請求重新定個方向轉到其它位置(如:網頁重定向、域名的重定向、路由選擇的變化也是對數據報文經由路徑的一種重定向)。

而某些程序在重定向的跳轉過程中,對重定向的地址未進行必要的有效性和安全性檢查,且該重定向地址又很容易被惡意用戶控制和修改,這就可能導致在重定向發生時,用戶會被定向至惡意用戶事先構造好的頁面或其他URL,而導致用戶信息受損。

1.19. 跳轉漏洞

跳轉漏洞是指網站用戶訪問時對其輸入的參數沒有進行驗證,瀏覽器直接返回跳轉到指定的URL,跳轉漏洞可引發XSS漏洞,攻擊者可利用這個漏洞進行惡意欺騙。

1.20. 后臺管理

后臺管理是指由于網站設計者的疏忽、后臺管理員的配置不當或失誤,導致攻擊者可通過某些非法手段直接訪問后臺數據庫頁面,從而獲取重要敏感信息,上傳木馬,甚至可獲取后臺管理員的權限,可進行刪除、添加等非法操作,篡改后臺數據庫數據。

1.21. 會話管理

會話管理主要是針對需授權的登錄過程的一種管理方式,以用戶密碼驗證為常見方式,通過對敏感用戶登錄區域的驗證,可有效校驗系統授權的安全性,測試包含以下部分:

§ 用戶口令易猜解

通過對表單認證、HTTP認證等方式的簡單口令嘗試,以驗證存在用戶身份校驗的登錄入口是否存在易猜解的用戶名和密碼

§ 是否存在驗證碼防護

驗證碼是有效防止暴力破解的一種安全機制,通過對各登錄入口的檢查,以確認是否存在該保護機制

§ 是否存在易暴露的管理登錄地址

某些管理地址雖無外部鏈接可介入,但由于采用了容易猜解的地址(如:admin)而導致登錄入口暴露,從而給外部惡意用戶提供了可乘之機

§ 是否提供了不恰當的驗證錯誤信息

某些驗證程序返回錯誤信息過于友好,如:當用戶名與密碼均錯誤的時候,驗證程序返回“用戶名不存在”等類似的信息,通過對這一信息的判斷,并結合HTTP Fuzzing工具便可輕易枚舉系統中存在的用戶名,從而為破解提供了機會。

會話管理主要是針對驗證通過之后,服務端程序對已建立的、且經過驗證的會話的處理方式是否安全,一般會從以下幾個角度檢測會話管理的安全性:

§ Session是否隨機

Session作為驗證用戶身份信息的一個重要字符串,其隨機性是避免外部惡意用戶構造Session的一個重要安全保護機制,通過抓包分析Session中隨機字符串的長度及其形成規律,可對Session隨機性進行驗證,以此來確認其安全性。

§ 校驗前后Session是否變更

通過身份校驗的用戶所持有的Session應與其在經過身份驗證之前所持有的Session不同

§ 會話儲存是否安全

會話存儲是存儲于客戶端本地(以cookie的形式存儲)還是存儲于服務端(以Session的形式存儲),同時檢測其存儲內容是否經過必要的加密,以防止敏感信息泄露

1.22. 無效驗證碼

目標系統管理入口(或數據庫外部連接)存在缺少驗證碼,攻擊者可利用弱口令漏洞,通過進行暴力猜解,獲取網站管理權限,包括修改刪除網站頁面、竊取數據庫敏感信息、植入惡意木馬;甚至以網站為跳板,獲取整個內網服務器控制權限。

2. 白盒滲透測試(業務邏輯錯誤測試

2.1. 業務邏輯錯誤測試概述

由于邏輯錯誤并不涉及到程序自身的錯誤及異常,因此,在自動化檢測過程中,邏輯錯誤是無法被識別的。

邏輯錯誤不但需要人工進行檢測,而且還需要檢測人員在檢測之前對業務有所了解,因此,在檢測前,測試人員往往會構造大量的數據進行測試,以學習業務的正常邏輯,從而進一步構造可能造成業務危害的錯誤邏輯數據,以達到邏輯測試的目的。

2.2. 業務邏輯錯誤的類型

2.2.1. 授權繞過漏洞

業務系統中針對未加權認證、平行認證、敏感接口等缺乏認證,從而導致的越權操作及后臺可猜解漏洞。

通常對于是否存在授權繞過采用的測試方面有:

當用戶沒有通過驗證時,是否有可能訪問該資源?

是否有可能在注銷后訪問該資源?

是否有可能獲得只應由擁有不同角色/特權的用戶才能訪問的功能和資源?

嘗試作為管理員用戶訪問應用程序并追蹤所有的管理職能。如果測試者用普通用戶身份登錄是否有可能訪問這些管理職能?

因擁有不同權限,而導致操作被拒絕的用戶是否有可能使用這些功能?

2.2.2. 截獲和修改金額漏洞

由于支付業務功能缺乏針對提交方式、服務器驗證返回等手段,導致的訂單支付金額可修改漏洞。通常會導致重大損失。

例如:在北加州,某電視臺的網站為了Web2.0化,開發了一個新的功能:允許網友們提供當地的天氣信息,該信息將在電視新聞中滾動播出。為了防止垃圾信息,網友們提供的信息是經過人工審核后才播出的。但是這套系統在設計時還允許網友們對信息進行編輯。此處存在一個邏輯漏洞:審核通過后的信息,如果被用戶重新編輯了,不會再次進行審核,也會直接發送到電視新聞的滾動條中。于是不少人利用這一邏輯漏洞,在電視新聞中發送各種垃圾信息。

2.2.3. 規避交易限制

類似于“截獲和修改金額漏洞”,通過對會話的修改,突破交易限制。如:“某產品購買數量100份起,通過修改,可1份下單。”

例如:開發人員沒有對購買的數量進行嚴格的限制,當購買的數量是一個負數時,總額的算法仍然是"購買數 量x單價=總價",所以這樣就會導致有一個負數的需支付金額。若仍然支付成功,則可能導致購買到了一個負數數量的產品,也有可能返還相應的積分/金幣到你的賬戶上。這種情況可能發生在一個有站內貨幣的網站。

2.2.4. 請求重放漏洞

未采用動態加密方法的認證過程,可能導致業務系統的認證功能失效。

例如對重要的操作,如轉賬操作,先正常進行一個正常的流程,在流程的重要環節,對提交的數據進行同時攔截,對取得的數據再次進行提交,如提交返回結果成功,則此流程存在重放攻擊漏洞,反之則滿足設計安全要求

2.2.5. 欺騙密碼找回漏洞

目前業務系統對于用戶的口令找回,有多種實現邏輯,其中很可能存在驗證漏洞從而導致密碼泄露。


Web系統滲透測試服務