常見web信息泄露


一、源碼(備份文件)泄露

1、git泄露

Git是一個開源的分布式版本控制系統,在執行git init初始化目錄的時候,會在當前目錄下自動創建一個.git目錄,用來記錄代碼的變更記錄等。發布代碼的時候,如果沒有把.git這個目錄刪除,就直接發布到了服務器上,攻擊者就可以通過它來恢復源代碼

hook:存放一些sheel的地方。
info:存放倉庫的信息 
objects:存放所有git對象的地方 
refs:存放提交hash的地方 
config:github的配置信息 
description:倉庫的描述信息,主要給gitweb等git托管系統使用 
HEAD:映射到ref引用,能夠找到下一次commit的前一次哈希值

git泄露可以使用GitHack利用工具進行利用,工具地址https://github.com/zwshi/GitHack.git

使用方法:python GitHack.py http://www.example.com/.git/
還原后的文件在 dist/ 目錄下

例題1:CTFHub-----log

1)掃描發現 .git 泄露

2)python GitHack.py 題目url/.git/

將源碼clone到本地,然后進入該目錄

3)執行 git log 查看歷史記錄

4)git diff 提交的記錄碼

注:

查看歷史記錄:git log
對比兩次提交:git diff
切換版本:git reset

例題2:CTFHub----stash

同樣先使用GitHack將git clone到本地,然后查看

去查了一下資料:

git stash

能夠將所有未提交的修改(工作區和暫存區)保存至堆棧中,用於后續恢復當前工作目錄。

查看當前堆棧中保存的未提交的修改 使用git stash list

可看到add flag這個工作也被保存在了堆棧中,所以只需要知道如何恢復就可以了

使用git stash apply 恢復了一個txt文件,查看得到flag


例題3:CTFHub----index

這道題直接用githack工具clone到源碼就得到flag了

但參考了一下大佬的wp,發現考點其實是git的index暫存區文件

1)使用git ls-files查看暫存區里面有哪些文件

2)需要查看27741192706094.txt文件對應的Blob對象,如下:

git ls-files -s -- 27741192706094.txt或者直接 git ls-files -s

3)然后通過Blob對象,查詢27741192706094.txt.txt里面的內容:git cat-file -p 441a2


修復建議

刪除.git目錄或者修改中間件配置進行對.git隱藏文件夾的訪問。



2、SVN泄露

使用svn版本控制系統時,由於錯誤操作將.svn文件暴露在外網環境中,即可利用該文件還原出服務器源碼、SVN服務器賬號密碼等信息。

當svn使用了checkout命令后就會生成.svn文件,里面存儲着備份信息。

svn信息泄露漏洞主要利用了里面的entris文件,通過.svn/entris可以下載里面的所有代碼,但是只能作用在svn1.6之前的版本;在svn1.7后的版本引入一個名為wc.db的數據庫數據存放文件來管理文件,通過訪問.svn/wc.db可以下載到本地。

利用工具:dvcs-ripper 地址:https://github.com/kost/dvcs-ripper (需要有svn和perl環境)


例題:ctfhub-svn

這里是svn1.7之后的版本,我們下載wc.db文件,/.svn/wc.db


使用SQLiteStudio打開,發現flag_1831822206.txt文件,訪問之


我們使用dvcs-ripper工具:`https://github.com/kost/dvcs-ripper`

perl rip-svn.pl -u http://challenge-8cad6507cc3f2aca.sandbox.ctfhub.com:10080/.svn/

我們需要使用ls -al才可以看到隱藏的文件夾.svn

因為之前我們已經嘗試了訪問wc.db數據庫里面的文件了,但是發現flag.txt已經被刪除了,所以我們到緩存文件夾pristine文件夾里面去尋找flag,在8f文件夾里面獲取到flag



3、hg源碼泄露

Mercurial 是一種輕量級分布式版本控制系統,hg在初始化代碼庫的時候,會在當前目錄下面產生一個.hg的隱藏文件

eg: http://www.example.com/.hg/

利用工具:dvcs-ripper:https://github.com/kost/dvcs-ripper

使用:

rip-hg.pl -v -u http://www.example.com/.hg/
如果沒有設置系統變量,需要
perl rip-hg.pl -u http://www.example.com/.hg/

查看隱藏文件:ls -al

例題---ctfhub-hg

直接用工具即可


4、DS_Store 文件泄露

.DS_Store 是 Mac OS 保存文件夾的自定義屬性的隱藏文件。通過.DS_Store可以知道這個目錄里面所有文件的清單。

eg: http://www.example.com/.ds_store/

利用工具:

ds_store_exp: https://github.com/lijiejie/ds_store_exp

使用:

ds_store_exp.py http://www.example.com/.ds_store/

5、CVS泄露

CVS是一個C/S系統,多個開發人員通過一個中心版本控制系統來記錄文件版本,從而達到保證文件同步的目的。主要是針對 CVS/Root以及CVS/Entries目錄,直接就可以看到泄露的信息。

eg:

http://url/CVS/Root 返回根信息
http://url/CVS/Entries 返回所有文件的結構

利用工具:dvcs-ripper: https://github.com/kost/dvcs-ripper.git

使用:

rip-cvs.pl -v -u http://www.example.com/CVS/


6、GitHub源碼泄漏

很多人喜歡把自己的代碼上傳到平台托管。通過關鍵詞進行搜索,可以找到關於目標站點的敏感信息,甚至可以下載網站源碼。


7、網站備份文件

常見的網站源碼備份文件后綴

  • tar
  • tar.gz
  • zip
  • rar

常見的網站源碼備份文件名

  • web
  • website
  • backup
  • back
  • www
  • wwwroot
  • temp

也可以直接用御劍掃描后台


8、vim緩存

vim會自動生成的備份文件以及臨時文件

臨時文件是在編輯文本時就會創建的文件,如果程序正常退出,臨時文件自動刪除,如果意外退出就會保留,文件名為 .filename.swp,(第一次產生的交換文件名為“.filename.txt.swp”;再次意外退出后,將會產生名為.filename.txt.swo的交換文件;而第三次產生的交換文件則為.filename.txt.swn

例題:CTFHub---vim緩存



二、中間件等其他信息泄露

1、phpinfo

有些網站可能未關閉調試功能,存在調試頁面,比如訪問phpinfo頁面

phpinfo去過能被外部用戶訪問,可能會造成的危害有:

泄露網站真實ip
網站絕對路徑泄漏或日志文件路徑泄露,可以寫入shell
泄露一些特殊的應用信息和服務
一些敏感配置,比如禁用的函數
php版本信息

2、Apache-tomcat樣例文件泄露

apache 的一些樣例文件沒有刪除,可能存在cookie、session偽造,進行后台登錄操作。常見的路徑有:

http://xxx.com/examples/servlets/servlet/CookieExample
http://xxx.com/examples/servlets/servlet/RequestHeaderExample
http://xxx.com/examples/jsp/snp/snoop.jsp
http://xxx.com/examples/async/async1

例:https://blog.csdn.net/alex_bean/article/details/87854752


3、WEB-INF/web.xml 泄露

WEB-INF是Java的WEB應用的安全目錄,如果想在頁面中直接訪問其中的文件,必須通過web.xml文件對要訪問的文件進行相應映射才能訪問。

WEB-INF 主要包含一下文件或目錄:

WEB-INF/web.xml : Web應用程序配置文件, 描述了servlet和其他的應用組件配置及命名規則.
WEB-INF/database.properties : 數據庫配置文件
WEB-INF/classes/ : 一般用來存放Java類文件(.class)
WEB-INF/lib/ : 用來存放打包好的庫(.jar)
WEB-INF/src/ : 用來放源代碼(.asp和.php等)

通過找到 web.xml 文件,推斷 class 文件的路徑,最后直接 class 文件,再通過反編譯 class 文件,得到網站源碼。


4、tomcat

tomcat 后綴改成大寫,會顯示源碼

只要把jsp文件后綴名改為大寫就可以(老版本)



個人筆記,可能有遺漏,后續補充...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM