1. Fuite du code source (fichier de sauvegarde)
1. fuite de git
Git est un système de contrôle de version distribué open source.Lors de l'exécution git init
du répertoire d'initialisation, un répertoire sera automatiquement créé dans le répertoire courant .git
pour enregistrer les enregistrements de modifications de code, etc. Lors de la publication du code, si .git
ce répertoire n'est pas supprimé et est publié directement sur le serveur, l'attaquant peut l'utiliser pour restaurer le code source.
hook:存放一些sheel的地方。
info:存放仓库的信息
objects:存放所有git对象的地方
refs:存放提交hash的地方
config:github的配置信息
description:仓库的描述信息,主要给gitweb等git托管系统使用
HEAD:映射到ref引用,能够找到下一次commit的前一次哈希值
Les fuites Git peuvent être exploitées à l'aide de l'outil d'exploitation GitHack, l'adresse de l'outil est https://github.com/zwshi/GitHack.git
Utilisation : python GitHack.py http://www.example.com/.git/Les
fichiers restaurés sont dans le répertoire dist/
Exemple 1 : CTFHub -----journal
1) L'analyse a trouvé une fuite de .git
2) URL de la question Python GitHack.py/.git/
Clonez le code source localement et entrez dans le répertoire
3) Exécutez git log pour afficher l'historique
4) Enregistrer le code soumis par git diff
Note:
查看历史记录:git log
对比两次提交:git diff
切换版本:git reset
Exemple 2 : CTFHub ---- cachette
Utilisez également GitHack pour cloner git localement d'abord, puis vérifiez
Je suis allé vérifier les informations :
git cachette
Possibilité d'enregistrer toutes les modifications non validées (espace de travail et zone de préparation) dans la pile pour une restauration ultérieure du répertoire de travail actuel.
Afficher les modifications non validées enregistrées dans la pile actuelle à l'aide de git stash list
Vous pouvez voir que le travail d'ajout de drapeau est également enregistré dans la pile, il vous suffit donc de savoir comment le restaurer.
Utilisé pour git stash apply
restaurer un fichier txt, cochez pour obtenir le drapeau
Exemple 3 : CTFHub----index
Pour cette question, utilisez l'outil githack pour cloner directement le code source et obtenir le drapeau.
Mais après avoir fait référence au wp du patron, j'ai découvert que le centre de test est en fait le fichier d'index de la zone de stockage temporaire de git.
1) Utilisez git ls-files
pour voir quels fichiers se trouvent dans la zone de stockage temporaire
2) Vous devez visualiser l'objet Blob correspondant au fichier 27741192706094.txt, comme suit :
git ls-files -s -- 27741192706094.txt`或者直接 `git ls-files -s
3) Ensuite, interrogez 27741192706094.txt.txt
le contenu de l'objet Blob :git cat-file -p 441a2
Suggestions de réparation
Supprimez le répertoire .git ou modifiez la configuration du middleware pour accéder au dossier caché .git.
2. Fuite du SVN
Lors de l'utilisation du système de contrôle de version SVN, si le fichier .svn est exposé à l'environnement réseau externe en raison d'opérations incorrectes, le fichier peut être utilisé pour restaurer le code source du serveur, le mot de passe du compte du serveur SVN et d'autres informations.
Lorsque svn utilise la commande checkout, un fichier .svn sera généré, qui stocke les informations de sauvegarde.
La vulnérabilité de fuite d'informations svn exploite principalement le fichier entris à l'intérieur, à travers lequel .svn/entris
vous pouvez télécharger tout le code à l'intérieur, mais elle ne peut fonctionner que sur les versions antérieures à svn1.6 ; dans les versions après svn1.7, un stockage de données de base de données nommé wc.db est introduit File pour gérer les fichiers, qui .svn/wc.db
peuvent être téléchargés sur le site local via l'accès.
Outil d'utilisation : dvcs-ripper Adresse : https://github.com/kost/dvcs-ripper (nécessite les environnements svn et perl)
Exemple : ctfhub-svn
Voici la version après svn1.7, on télécharge le fichier wc.db,/.svn/wc.db
Utilisez SQLiteStudio pour ouvrir, découvrir flag_1831822206.txt
le fichier et y accéder
Nous utilisons l'outil dvcs-ripper :https://github.com/kost/dvcs-ripper
perl rip-svn.pl -u http://challenge-8cad6507cc3f2aca.sandbox.ctfhub.com:10080/.svn/
Nous devons utiliser ls -al
pour voir les dossiers cachés.svn
Parce que nous avons déjà essayé d'accéder wc.db
aux fichiers de la base de données, mais avons constaté flag.txt
qu'ils avaient été supprimés, nous sommes donc allés dans le dossier vierge du dossier cache pour trouver le drapeau et avons obtenu le drapeau dans le dossier 8f.
3. fuite du code source de hg
Mercurial est un système de contrôle de version distribué léger. Lorsque hg initialise la base de code, il génère un fichier caché .hg dans le répertoire courant.
par exemple:http://www.example.com/.hg/
Outil d'utilisation : dvcs-ripper :https://github.com/kost/dvcs-ripper
utiliser:
rip-hg.pl -v -u http://www.example.com/.hg/
如果没有设置系统变量,需要
perl rip-hg.pl -u http://www.example.com/.hg/
Afficher les fichiers cachés :ls -al
Exemple : ctfhub-hg
Utilisez simplement des outils
4. Fuite du fichier DS_Store
.DS_Store est un fichier caché avec des propriétés personnalisées pour les dossiers de sauvegarde de Mac OS. Grâce à .DS_Store, vous pouvez connaître la liste de tous les fichiers de ce répertoire.
par exemple:http://www.example.com/.ds_store/
Utiliser des outils :
ds_store_exp :https://github.com/lijiejie/ds_store_exp
utiliser:
查看隐藏文件:`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`
使用:
5. Fuite de CVS
CVS est un système C/S. Plusieurs développeurs enregistrent les versions de fichiers via un système central de contrôle de version pour assurer la synchronisation des fichiers. Principalement pour les répertoires CVS/Root et CVS/Entries, vous pouvez voir directement les informations divulguées.
par exemple:
http://url/CVS/Root 返回根信息
http://url/CVS/Entries 返回所有文件的结构
Outil d'utilisation : dvcs-ripper : https://github.com/kost/dvcs-ripper.git
utiliser:
rip-cvs.pl -v -u http://www.example.com/CVS/
6. Fuite du code source de GitHub
De nombreuses personnes aiment télécharger leur code sur la plateforme d'hébergement. En effectuant une recherche par mot-clé, vous pouvez trouver des informations sensibles sur le site cible et même télécharger le code source du site Web.
7. Fichiers de sauvegarde du site Web
Suffixes courants des fichiers de sauvegarde du code source des sites Web
- le goudron
- tar.gz
- fermeture éclair
- rare
Noms courants des fichiers de sauvegarde du code source des sites Web
- la toile
- site web
- sauvegarde
- dos
- www
- wwwroot
- temp.
Vous pouvez également utiliser directement Yujian pour scanner l'arrière-plan
8. cache vim
Fichiers de sauvegarde et fichiers temporaires que vim générera automatiquement
Les fichiers temporaires sont des fichiers créés lors de l'édition de texte. Si le programme se termine normalement, les fichiers temporaires seront automatiquement supprimés. Si le programme se termine de manière inattendue, ils seront conservés. Le nom du fichier est (le nom du fichier d'échange généré .filename.swp
pour la première fois est ".filename.txt.swp
; s'il se ferme à nouveau de manière inattendue. Après cela, .filename.txt.swo
un fichier d'échange nommé sera généré ; et le fichier d'échange généré pour la troisième fois sera .filename.txt.swn
)
Exemple : CTFHub – cache vim
2. Fuite de middleware et d'autres informations
1、phpinfo
Certains sites Web peuvent ne pas avoir le débogage désactivé et avoir des pages de débogage, comme l'accès à la page phpinfo.
phpinfo a été consulté par des utilisateurs externes, et les dommages possibles incluent :
泄露网站真实ip
网站绝对路径泄漏或日志文件路径泄露,可以写入shell
泄露一些特殊的应用信息和服务
一些敏感配置,比如禁用的函数
php版本信息
2. Le fichier d'exemple Apache-Tomcat a été divulgué.
Certains fichiers d'exemple d'Apache n'ont pas été supprimés. Il peut y avoir une falsification de cookies et de sessions pour effectuer des opérations de connexion en arrière-plan. Les chemins courants sont :
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
exemple:https://blog.csdn.net/alex_bean/article/details/87854752
3. fuite de WEB-INF/web.xml
WEB-INF
Il s'agit du répertoire de sécurité des applications Java WEB. Si vous souhaitez accéder directement aux fichiers de la page, vous devez mapper les fichiers accessibles via le fichier web.xml en conséquence.
WEB-INF
Comprend principalement les fichiers ou répertoires suivants :
WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
WEB-INF/database.properties : 数据库配置文件
WEB-INF/classes/ : 一般用来存放Java类文件(.class)
WEB-INF/lib/ : 用来存放打包好的库(.jar)
WEB-INF/src/ : 用来放源代码(.asp和.php等)
En trouvant le fichier web.xml, déduisez le chemin du fichier de classe, et enfin dirigez le fichier de classe, puis décompilez le fichier de classe pour obtenir le code source du site Web.
4.
Changez le suffixe Tomcat en majuscule et le code source sera affiché.
Changez simplement le suffixe du fichier jsp en majuscule (ancienne version)
Notes personnelles, il peut y avoir quelques omissions, je les ajouterai plus tard...