当前位置:网站首页>[vérification sur le Web - divulgation du code source] obtenir la méthode du code source et utiliser des outils
[vérification sur le Web - divulgation du code source] obtenir la méthode du code source et utiliser des outils
2022-07-05 03:36:00 【Black zone (RISE)】
Table des matières
Un.、Fuite de fichier de sauvegarde
1.2、Fichier de sauvegarde de texte
1.3、Fichier de sauvegarde du code source complet
2.3、Recherche par caractéristiques
Quatre、hg、CVS、Bazaar/bzrFuite du code source
5.3、WEB-INF Contient principalement des fichiers ou des répertoires :
Six、DS_Store Fuite de documents
Un.、Fuite de fichier de sauvegarde
1.1、Introduction:
Les fichiers de sauvegarde sont généralement dus à la négligence du personnel de maintenance , Fichiers laissés sur le serveur en oubliant de les supprimer .
Un attaquant énumère les noms de fichiers de sauvegarde communs , Pour obtenir le chemin correspondant , Et obtenir le Code clé , Pour vérifier le code source
Pour trouver ces fichiers de sauvegarde , En général, certains scanners de fichiers sensibles sont utilisés pour détecter .
Les fichiers de sauvegarde courants sont :Fichier de sauvegarde de texte、Fichier de sauvegarde du code source complet
Suffixe de fichier:.rar .zip .7z .tar.gz .bak .swp .txt .sqlAttendez.
1.2、Fichier de sauvegarde de texte
InLinux Sous le système, des éléments tels que: vimOugeditAttendez l'éditeur de texte, Sauvegarde automatique du fichier courant lorsque l'éditeur s'écrase ou sort par exception ; Ou sauvegarder le Code après la mise en œuvre d'une fonction avant le développement ultérieur .
Fichiers de sauvegarde possibles (index.phpPar exemple):
.index.php.swp
.index.php.swo
index.php~
index.php.bak
index.php.txt
index.php.old
...
1.3、Fichier de sauvegarde du code source complet
Le code source complet sera emballé , Puis il est placé dans le Répertoire racine du site ,À ce moment - là,, Il suffit de trouver ce paquet pour commencer la vérification du code source .
Noms de fichiers de sauvegarde communs à l'ensemble du site :
www
wwwdata
wwwroot
web
webroot
backup
dist
...Divers noms de suffixes de fichiers compressés :
.zip
.tar
.tar.gz
.7z
.rar
...Vous pouvez également utiliser d'autres fichiers sensibles qui peuvent révéler la structure du répertoire ou le nom du fichier pour obtenir l'emplacement des fichiers de sauvegarde ,Par exemple:“.xx_xxx”
2.、GitFuite
2.1、Outils(GitHack):
GitHackC'est un.gitLes fuites exploitent les scripts,Par fuite.gitFichiers sous dossier,Reconstruire et restaurer le code source du projet.
Testeur de pénétration、Attaquant,Les codes peuvent être vérifiés plus en détail,Excavation:Téléchargement de fichiers,SQLInjection, etc.webUne brèche dans la sécurité.
GitHub - lijiejie/GitHack: A `.git` folder disclosure exploithttps://github.com/lijiejie/GitHack
Utiliser:
python GitHack.py http://www.openssl.org/.git/
2.2、Produire:
web Pendant la mise à niveau et la maintenance , Le fichier du site sera modifié , Vous aurez besoin de sauvegarder l'ensemble du site ou une partie de celui - ci
Quand le Code a été publié ,Si elle n'est pas supprimée.gitTable des matières, Publier directement sur le serveur , Un attaquant l'utilise pour récupérer le code source
Les fichiers de sauvegarde sont placés dans web Sous le Répertoire accessible par le serveur
2.3、Recherche par caractéristiques
Quand un site Web a une chaîne de caractères distinctive
Il est possible de passer par GitHub Fonction de recherche pour rechercher l'article
2.4、Adoption.gitFuite
Chaquegit Il y en a un dans le Répertoire racine du projet .gitDossiers, Le but est de stocker des informations sur le projet
Outils:GitHackEt le code source
Analyse des sources:
Commencez par créer un git Ingénierie et initialisation ,Et puis...commitUne fois.
Entrée.gitSous la table des matières, Regardez les fichiers dans le répertoire
C'est sûr.commitObjet,Voir les objets
L'entrée existe“.git”Dans le catalogueurl
Continuez à voirHEAD Emplacement de la branche d'acquisition de fichiers , Et j'ai eu la branche hashValeur
Je l'ai.hash Initialisation locale d'un git,Et puisparseCommit Obtenir tous les objets
Utilisation finalereset Réinitialiser la branche , Le projet a été reconstruit avec succès localement
Documentation:
Documents clés (Une partie):
HEAD:Marquer le courantgit Dans quelle branche .
refs: Marquer chaque branche du projet pointant vers commit.
objects:git Tous les objets stockés dans l'entrepôt local .
gitObjet de:
commit: Marquer un dossier de soumission pour un article .
tree: Marquer le répertoire ou le Sous - répertoire d'un élément .
blob: Fichier pour marquer un projet .
tag: Nommez une soumission .
Fonction personnalisée
(1)parseCommitFonctions:
Action:TéléchargercommitObjet,Mets - le.parent Télécharger ensemble
Code:
function parseCommit {
echo parseCommit $1
downloadBlob $1
tree=$(git cat-file -p $1| sed -n '1p' | awk '{print $2}')
parseTree $tree
parent=$(git cat-file -p $1 | sed -n '2p' | awk '{print $2}')
[ ${#parent} -eq 40 ] && parseCommit $parent
}(2)parseTreeFonctions:
Action:TéléchargertreeObjet,Et listetreeTous les objets sous,Classé comme suit:treeOublobPost - traitement
Code:
function parseTree {
echo parseTree $1
downloadBlob $1
while read line
do
type=$(echo $line | awk '{print $2}')
hash=$(echo $line | awk '{print $3}')
[ "$type" = "tree" ] && parseTree $hash || downloadBlob $hash
done < <(git cat-file -p $1)
}(3)downloadBlobFonctions:
Action:Télécharger avechashFichiers correspondants
function downloadBlob {
echo downloadBlob $1
mkdir -p ${1:0:2}
cd $_
wget -q -nc $domain/.git/objects/${1:0:2}/${1:2}
cd ..
}
Trois、svnFuite
3.1、Introduction:
Subversion(SVN) Est un système de contrôle de version Open Source, C'est - à - dire Subversion Gérer les données qui changent au fil du temps. Ces données sont conservées dans un fichier central(repository) Moyenne. Cette archive ressemble beaucoup à un serveur de fichiers normal, Mais il se souviendra de chaque changement de document. Afin que vous puissiez restaurer les fichiers dans les anciennes versions, Ou parcourir l'historique des changements de fichier.
En serviceSVNLors de la gestion du code local,Génère automatiquement un.svnDossier caché pour,Il contient des informations importantes sur le code source.
3.2、Cause de l'accident:
Lors de la publication du Code ,Non utilisé‘Exporter’Fonction,.Au lieu de cela, copiez le dossier de code directement àWEBSur le serveur,Ce qui fait.svn Les dossiers cachés sont exposés à l'environnement extranet ,Peut être utilisé.svn/entriesDocumentation, Obtenir le code source du serveur .
3.3、Outils:
Seay-Svn(Simple.)
dvcs-ripper
Télécharger l'adresse:
Rip WebAccessible(Distribué)Système de contrôle de version:SVN,GIT,Mercurial/hg,bzr,...
Même si la navigation dans le répertoire est désactivée , Il peut également extraire le dépôt .
Assurez - vous de vous mettre à télécharger / Dans le répertoire vide du dépôt clone .
Quatre、hg、CVS、Bazaar/bzrFuite du code source
4.1、Outils:
dvcs-ripper
Télécharger l'adresse:
Rip WebAccessible(Distribué)Système de contrôle de version:SVN,GIT,Mercurial/hg,bzr,...
Même si la navigation dans le répertoire est désactivée , Il peut également extraire le dépôt .
Assurez - vous de vous mettre à télécharger / Dans le répertoire vide du dépôt clone .
Cinq、WEB-INF/web.xml Fuite
5.1、Introduction:
WEB-INF- Oui.JavaDeWEBRépertoire de sécurité appliqué,Le client n'est pas accessible,Seul le serveur peut accéder à,Si vous souhaitez accéder directement aux fichiers de la page,Doit passerweb.xmlFichiers mapper les fichiers auxquels vous accédez pour accéder à.
5.2、Cause de l'accident:
Lors de l'utilisation de l'architecture réseau , La cartographie des répertoires ou des fichiers des ressources statiques n'est pas correctement configurée , Les problèmes de sécurité qui en résultent ,Causeweb.xmlEt les fichiers peuvent être lus
5.3、WEB-INF Contient principalement des fichiers ou des répertoires :
(1)/WEB-INF/web.xml :
WebProfil de l'application(DescriptionservletEt d'autres règles de configuration et de nommage des composants d'application)
(2)/WEB-INF/database.properties:
Profil de la base de données
(3)/WEB-INF/classes/:
StockageJavaFichiers de classe(.class),Contient tous les Servlet Classes et autres fichiers de classe , Les fichiers de classe ont une structure de répertoire qui correspond à leurs noms de paquets
(4)/WEB-INF/lib/ :
Pour entreposer une bibliothèque emballée (.jar),C'est - à - dire:webToutes sortes deJARDocumentation
(5)/WEB-INF/src/ :
Répertoire des sources,Stocker le code source(.aspEt.phpAttendez.)
5.4、Utilisation:
En trouvant web.xml Documentation,Inférence class Chemin du fichier,Trouver class Documentation, Et en décompilant class Documentation,Obtenir le code source du site.
Six、DS_Store Fuite de documents
6.1、Introduction:
.DS_Store- Oui.MacEn bas.Finder Utilisé pour enregistrer les fichiers de présentation /Dossiers Fichier de données pour( C'est - à - dire la propriété d'affichage du dossier , Et l'emplacement des icônes de fichier ), Un sous chaque dossier
Quand vous téléchargez le Code ,Un fonctionnement sûr et correct devrait .DS_Store Suppression de fichiers, Si elle n'est pas supprimée ,.DS_Store Sera téléchargé et déployé sur le serveur , Risque de fuite de documents (Structure du Répertoire、Fichiers de sauvegarde、Fichier source)
6.2、Outils:
ds_store_exp
C'est un .DS_Store Les fuites de fichiers utilisent des scripts ,Il analyse.DS_Store Fichier et télécharger Récursivement le fichier localement .
Télécharger l'adresse:
Sept、 Exploiter les fuites
Combinaison d'une vulnérabilité d'inclusion de fichier arbitraire ou d'une vulnérabilité de téléchargement de fichier arbitraire
Peut être téléchargé dans le code source , Et l'audit
边栏推荐
- The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
- Azkaban actual combat
- this+闭包+作用域 面试题
- [groovy] loop control (number injection function implements loop | times function | upto function | downto function | step function | closure can be written outside as the final parameter)
- Utilisation simple de devtools
- 1. Five layer network model
- 【软件逆向-基础知识】分析方法、汇编指令体系结构
- The latest blind box mall, which has been repaired very popular these days, has complete open source operation source code
- 【PHP特性-变量覆盖】函数的使用不当、配置不当、代码逻辑漏洞
- Tiny series rendering tutorial
猜你喜欢
C file in keil cannot be compiled
Ubantu disk expansion (VMware)
[105] Baidu brain map - Online mind mapping tool
Multi person online anonymous chat room / private chat room source code / support the creation of multiple chat rooms at the same time
2.常见的请求方法
Accuracy problem and solution of BigDecimal
[luat-air105] 4.1 file system FS
Tiny series rendering tutorial
1.五层网络模型
[system security] ten thousand words summary system virtualization container bottom layer principle experiment
随机推荐
v-if VS v-show 2.0
Hot knowledge of multithreading (I): introduction to ThreadLocal and underlying principles
SQL performance optimization skills
Unity implements the code of the attacked white flash (including shader)
Three line by line explanations of the source code of anchor free series network yolox (a total of ten articles, which are guaranteed to be explained line by line. After reading it, you can change the
线程基础知识
Logstash、Fluentd、Fluent Bit、Vector? How to choose the appropriate open source log collector
Share the newly released web application development framework based on blazor Technology
Idea inheritance relationship
Necessary fonts for designers
腾讯云,实现图片上传
LeetCode 234. Palindrome linked list
Six stone programming: advantages of automated testing
Pat class a 1160 forever (class B 1104 forever)
Kubernetes -- cluster expansion principle
[安洵杯 2019]不是文件上传
Dart series: collection of best practices
[105] Baidu brain map - Online mind mapping tool
Pdf things
How to learn to get the embedding matrix e # yyds dry goods inventory #