基礎入門-web原始碼拓展
基礎入門-web原始碼拓展
前言
web原始碼在安全測試中是非常重要的資訊來源,可以用來程式碼審計漏洞也可以用來做資訊突破口,其中WEB原始碼有很多技術需要簡明分析。
比如:獲取ASP原始碼後可以採用預設資料庫下載為突破,獲取某其他指令碼原始碼漏洞可以進行程式碼審計挖掘或分析其業務邏輯等,總之原始碼的獲取將為後期的安全測試提供了更多的思路
關於WEB原始碼目錄結構
注:這裡以“BEESCMS企業網站管理系統”的原始碼為例
得到賬號、密碼,連線對方的資料庫,從資料庫彙總得到後臺的賬號、密碼,然後登入對方的後臺,獲取資訊
總結:
• admin----------------------------------網站後臺目錄
• data------------------------------------資料庫相關目錄
• install----------------------------------安裝目錄
• member-------------------------------會員目錄
• template------------------------------模板目錄(和網站建立相關的整體架構)
• data【confing.php】--------------資料庫配置檔案,網站和資料庫的通訊資訊,連線賬號密碼,可以去連線對方資料庫,從資料庫去得到這個網站的原始碼裡面涉及到的管理員的賬號密碼。
關於Web原始碼指令碼型別
ASP,PHP,ASPX,JSP,JAVAWEB等指令碼型別原始碼安全問題
比如:上面【BEESCMS企業網站管理系統】就是一個php指令碼型別原始碼
參考網站語言與框架
關於Web原始碼應用分類
1.社交,論壇,門戶,第三方,部落格等不同的程式碼機制對應漏洞
2.開源,未開源問題, 框架非框架問題,關於CMS識別問題及後續等
3.拿到對方的原始碼或者判斷這個網站的應用型別之後應該側重在哪些漏洞上做文章:
• 入口網站------------------------綜合類漏洞
• 電商------------------------------業務邏輯漏洞
• 論壇------------------------------XSS漏洞
• 部落格------------------------------漏洞較少
• 第三方---------------------------根據功能決定
4.關於原始碼獲取的相關途徑:搜尋,鹹魚淘寶,第三方原始碼站,各種行業對應(灰色網站可能也找不到)
第三方原始碼站:菜鳥原始碼 (目前停站了,先不提供連線)
總結:關注應用分類及指令碼型別就可以估摸出可能存在的漏洞(其中框架類例外,只需要找框架漏洞),在獲取原始碼後可進行本地安全測試(自己手動測試)或程式碼審計(在程式碼中發現漏洞),也可以分析其目錄工作原理(資料庫備份,bak檔案等【網站上面自帶備份功能,它備份到某個指定目錄,我們可以按照原始碼的特點在備份檔案中去分析】),未獲取到的原始碼採用各種方法想辦法獲取!
關於WEB原始碼其他說明
框架非框架問題
如果一個網站採用的是框架開發的話,那麼滲透測試就是要尋找框架的漏洞,如果是非框架的話尋找的漏洞針對的是程式碼寫出來的漏洞(也就是程式碼審計)
比如:thinkphp框架
關於CMS識別問題
• CMS是Content Management System的縮寫,意為"內容管理系統"。 內容管理系統是企業資訊化建設和電子政務的新寵,也是一個相對較新的市場。對於內容管理,業界還沒有一個統一的定義,不同的機構有不同的理解。
• 內容管理系統組成要素:
文件模板
指令碼語言或標記語言
與資料庫整合
• CMS識別: 判定一個網站是用什麼程式搭建的,網上有很多相關的原始碼來提供下載,我們稱之為開源程式。
• CMS識別兩種方法:
(1)線上工具:
http://whatweb.bugscaner.com/look/
(2)cmd命令:
>cd 目錄(這裡我將其存在桌面)
>certutil -hashfile 檔名稱.檔案型別 MD5
基於web網站獨有的favicon.ico、css、logo.ico、js等檔案的md5 比對網站型別,通過收集CMS公開程式碼中的獨有檔案,這些檔案一般輕易不會更改,如果一樣,則認為該系統匹配。這種識別速度最快,但可能不準確,因為這些獨有檔案可能在部署到真實系統中會進行更改,那麼就會造成很大的誤差。
開源、內部(未開源)問題
開源:直接找漏洞或審計(可以通過CMS識別出來的)
內部:常規的滲透測試,掃描工具、手工去探測(找不到原始碼或者不知道對方的CMS名稱)
原始碼獲取
• 掃描工具探測備份檔案
• CMS識別技術獲取CMS名稱然後從網上下載
• 百度直接搜尋:原始碼
- 鹹魚上會有賣
- 第三方原始碼站:比如菜鳥原始碼
- 各種行業對應
總結
關注應用分類及指令碼型別估摸出可能存在的漏洞(其中框架例外),在獲取原始碼後可進行本地安全測試(本地安全測試(手工使用工具去掃描,不需要接觸程式碼))或程式碼審計,也可以分析其目錄工作原理(資料庫備份,bak檔案等),未獲取到的原始碼採用各種方法想辦法獲取
演示案例
平臺識別-某CMS無漏洞-預設資料庫
這裡以【XYCMS企業建站系統】為例,開啟此網站,發現底部關鍵詞XYCMS
百度搜索XYCMS,進行原始碼下載
下載之後,發現有一個數據庫路徑,開啟
、
找到asp的特有資料庫檔案.mdb
使用mdb開啟工具(Easy Access)進行開啟,獲得賬戶名密碼,進行解密
根據下載的原始碼路徑,嘗試去訪問網站目錄http://ip:8003/xydata/xycms.mdb,下載到mdb檔案
訪問網站後臺,輸入剛剛獲取到的使用者名稱密碼
平臺識別-某CMS有漏洞-漏洞利用
這裡以【MetInfo】為例,開啟此網站,發現指令碼型別是php
底部還有對應的版本:MetInfo 5.14
百度搜索:MetInfo 5.1.4漏洞,如果網上沒有漏洞資訊,也可以下載原始碼再做漏洞分析
原始碼應用分類下的針對漏洞
這裡以【niushop】電商類網站為例,關注漏洞點–業務邏輯漏洞
• burp抓包,將購買產品數量改成-1
結果應付金額為0
簡要目標從識別到原始碼獲取
本地演示個人部落格-手工發現其 CMS-漏洞搜尋或下載分析
內部搭建靶場 http://weipan.1016sangshen.cn
百度搜索:thinkphp,是一個框架,所以利用框架漏洞。用工具進行檢測
人工爆框架-搜尋特定 url-獲取其他相符站點-漏洞測試
藉助特定行業原始碼或鹹魚進行搜尋獲取-本地搭建-程式碼審計或其他
特定行業原始碼
鹹魚
總結
原始碼獲取
原始碼編寫指令碼決定漏洞(cms )
把網站進行分類,分類不同,去發現漏洞