git是乙個主流的分布式版本控制系統,開發人員在開發過程中經常會遺忘 .git 資料夾,導致攻擊者可以通過 .git 資料夾中的資訊獲取開發人員提交過的所有原始碼,而可能導致伺服器被攻擊而淪陷。
(1)常規git洩露
常規git洩露即沒有任何其他操作,參賽者通過運用現成的工具或自己編寫的指令碼即可獲取**原始碼或者flag。
(2)git回滾
git作為乙個版本控制工具,會記錄每次提交的修改,所以當題目存在git洩露時,flag檔案可能在修改中被刪除或被覆蓋了,這時我們可以利用git的「git reset」命令來恢復到以前的版本。
(3)git分支
在每次提交時,git都會自動把它們串成一條時間線,這條時間線就是乙個分支。而git允許使用多個分支,從而讓使用者可以把工作從開發主線上分離出來,以免影響開發主線。如果沒有新建分支,那麼只有一條時間線,即只有乙個分支,git中預設為master分支。因此,我們要找的flag可能不會藏在當前分支中,這時使用「git log」命令只能找到在當前分支上的修改,並不能看到我們想要的資訊,因此需要切換分支來找到想要的檔案。
(4)git洩露的其他利用
除了檢視原始碼的常見利用方式,洩露的git中也可能有其他有用的資訊,如.git/config資料夾中可能含有access_token資訊,從而可以訪問這個使用者的其他倉庫。
svn是源**版本管理軟體,造成svn源**漏洞的主要原因是管理員操作不規範將svn隱藏資料夾暴露於外網環境,可以利用.svn/entries或wc.db檔案獲取伺服器原始碼等資訊。
在初始化專案時,hg會在當前資料夾下建立乙個.hg隱藏資料夾,其中包含**和分支修改記錄等資訊。
當我們遇到這一類資訊洩露的題時,只要訪問 .git,便會返回403,此時試探著訪問.git/config,如果有檔案內容返回,就說明存在 git 洩露,反之,一般不存在。而在svn洩露中,一般是在entries中爬取源**,但有時會出現entries 為空的情況,這時注意wc.db檔案存在與否,便可以通過其中的checksum在pristine資料夾中獲取源**。
菜狗的網安學習路線筆記 網路基礎(三)
二 什麼是靜態路由 2.靜態路由的作用 二 dns 參考網路基礎分為 1.通訊協議棧基礎 osi協議棧介紹 tcp協議詳解 ip位址詳解 閘道器 dns arp 通訊協議 2.交換技術 3.路由技術 4.應用技術 5.訪問控制技術和nat 閘道器 gateway 又稱網間聯結器 協議轉換器。閘道器在...
web前端的學習日誌(4)
render function createelement 進一步縮寫為 es6 語法 render createelement 再進一步縮寫為 render h 按照 es6 箭頭函式的寫法,就得到了 由於這段時間面試被問過es6的新特性,我沒有系統學習過,只是碰到就了解一哈 這些學習一下es6中...
Python爬蟲之scrapy的日誌資訊與配置
學習目標 了解 scrapy的日誌資訊 掌握 scrapy的常用配置 掌握 scrapy redis配置 了解scrapy splash配置 了解scrapy redis和scrapy splash配合使用的配置 user agent 設定ua default request headers 設定預...