web-信息泄露
1、git泄露
Git是一個開源的分布式版本控制系統,在執行git init
初始化目錄的時候,會在當前目錄下自動創建一個.git
目錄,用來記錄代碼的變更記錄等。發布代碼的時候,如果沒有把.git
這個目錄刪除,就直接發布到了服務器上,攻擊者就可以通過它來恢復源代碼
.git文件夾分析
hook:存放一些sheel的地方。
info:存放倉庫的信息
objects:存放所有git對象的地方
refs:存放提交hash的地方
config:github的配置信息
description:倉庫的描述信息,主要給gitweb等git托管系統使用
HEAD:映射到ref引用,能夠找到下一次commit的前一次哈希值
可以使用GitHack利用工具進行利用
工具地址https://github.com/zwshi/GitHack.git
使用方法:python GitHack.py http://www.example.com/.git/
還原后的文件在 dist/ 目錄下
更詳細原因參考:https://blog.csdn.net/qq_36869808/article/details/88909961?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
例題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
這道題直接用上面的方法能直接得到flag,就是用過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泄露
例題----ctfhub-svn
svn泄露,svn我們首先下載wc.db文件,主要知識點:
當svn使用了checkout命令后就會生成.svn文件,里面存儲着備份信息。svn信息泄露漏洞主要利用了里面的entrist文件,通過.svn/entrist
可以下載里面的所有代碼,但是只能作用在svn1.6之前的版本;第二個是作用在svn1.7后的版本,svn1.7后的版本引入一個名為wc.db的數據庫數據存放文件來管理文件,通過訪問.svn/wc.db
可以下載到本地。
這里是svn1.7之后的版本,我們下載wc.db文件,/.svn/wc.db
使用SQLiteStudio打開,發現flag_1831822206.txt
文件,訪問之
訪問的時候是404,應該是被刪除了,我們使用dvcs-ripper工具:https://github.com/kost/dvcs-ripper
在linux的環境下使用,以及我們需要先下載svn環境,還有perl環境,不然會運行不了dvcs-ripper
然后我們使用
perl rip-svn.pl -u http://challenge-8cad6507cc3f2aca.sandbox.ctfhub.com:10080/.svn/
命令來clone svn文件
我們需要使用ls -al
才可以看到隱藏的文件夾.svn
cd進去再ls -al
因為之前我們已經嘗試了wc.db
數據庫里面的文件了,但是發現flag.txt
已經被刪除了,所以我們到緩存文件夾pristine文件夾里面去尋找flag,在8f文件夾里面獲取到flag
3、.hg源碼泄露
例題---ctfhub-hg
Mercurial.hg
源碼泄露 hg在初始化代碼庫的時候,會在當前目錄下面產生一個.hg
的隱藏文件
eg:
http://www.example.com/.hg/
工具:
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
4、備份文件下載
常見的網站源碼備份文件后綴
- tar
- tar.gz
- zip
- rar
常見的網站源碼備份文件名
- web
- website
- backup
- back
- www
- wwwroot
- temp
也可以直接用御劍掃描后台
例題1----CTFHub---網站源碼
御劍直接掃到www.zip
,下載,找到.txt文件,發現里面沒有flag,后面看了wp才知道直接在瀏覽器訪問該txt文件就得到flag了
例題2----CTFHub---bak
提示:Flag in index.php source code.
則直接訪問index.php.bak
,下載得到flag
例題3----CTFHub---vim緩存
提示:
參考博客:https://www.cnblogs.com/leixiao-/p/9748685.html
vim會自動生成的備份文件以及臨時文件
臨時文件是在編輯文本時就會創建的文件,如果程序正常退出,臨時文件自動刪除,如果意外退出就會保留,文件名為 .filename.swp
,(第一次產生的交換文件名為“.filename.txt.swp
”;再次意外退出后,將會產生名為.filename.txt.swo
的交換文件;而第三次產生的交換文件則為.filename.txt.swn
)
所以直接訪問.index.php.swp
下載打開得到flag
例題4----CTFHub---.DS_Store
.DS_Store 是 Mac OS 保存文件夾的自定義屬性的隱藏文件。通過.DS_Store可以知道這個目錄里面所有文件的清單。
提示是.DS_Store,則直接訪問.DS_Store
,下載
打開發現里面有一句.txt,去掉中間的空格,訪問該txt文件得到flag
5、phpinfo
phpinfo去過能被外部用戶訪問,可能會造成的危害有:
泄露網站真實ip
網站絕對路徑泄漏或日志文件路徑泄露,可以寫入shell
泄露一些特殊的應用信息和服務
一些敏感配置,比如禁用的函數
php版本信息
詳情可以百度谷歌。
例題1----CTFHub---phpinfo
發現進去直接就能訪問到phpinfo,直接ctrl+f
搜flag,得到flag
6、目錄遍歷
目錄遍歷(路徑遍歷)是由於web服務器配置錯誤,或者web應用程序對用戶輸入的文件名稱的安全性驗證不足而導致的一種安全漏洞,使得攻擊者通過利用一些特殊字符就可以繞過服務器的安全限制,訪問任意的文件(可以使web根目錄以外的文件),甚至執行系統命令。
例題----CTFHub---目錄遍歷
這道題感覺出的有問題,直接隨便點點文件夾就得到了flag