当前位置:网站首页>[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 exploit
https://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
边栏推荐
- Devtools的簡單使用
- El tree whether leaf node or not, the drop-down button is permanent
- 腾讯云,实现图片上传
- 问下,这个ADB mysql支持sqlserver吗?
- Huawei MPLS experiment
- The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
- glibc strlen 实现方式分析
- [2022 repair version] community scanning code into group activity code to drain the complete operation source code / connect the contract free payment interface / promote the normal binding of subordi
- Port, domain name, protocol.
- Why are there fewer and fewer good products produced by big Internet companies such as Tencent and Alibaba?
猜你喜欢
error Couldn‘t find a package.json file in “你的路径“
Azkaban实战
Yuancosmic ecological panorama [2022 latest]
51 independent key basic experiment
Talk about the SQL server version of DTM sub transaction barrier function
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
SQL injection exercise -- sqli Labs
New interesting test applet source code_ Test available
Sqoop installation
Azkaban overview
随机推荐
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
Azkaban overview
Ubantu disk expansion (VMware)
Use of kubesphere configuration set (configmap)
【软件逆向-分析工具】反汇编和反编译工具
Voice chip wt2003h4 B008 single chip to realize the quick design of intelligent doorbell scheme
Ask, does this ADB MySQL support sqlserver?
Delphi free memory
[positioning in JS]
El select, El option drop-down selection box
Pat class a 1162 postfix expression
Easy processing of ten-year futures and stock market data -- Application of tdengine in Tongxinyuan fund
MySQL winter vacation self-study 2022 11 (9)
Hot knowledge of multithreading (I): introduction to ThreadLocal and underlying principles
error Couldn‘t find a package.json file in “你的路径“
How can we truncate the float64 type to a specific precision- How can we truncate float64 type to a particular precision?
Anchor free series network yolox source code line by line explanation four (a total of ten, ensure line by line explanation, after reading, you can change the network at will, not just as a participan
This + closure + scope interview question
Watch the online press conference of tdengine community heroes and listen to TD hero talk about the legend of developers
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety