Je pense qu'il est fondamental pour les testeurs de sécurité de collecter des informations sur le fonctionnement d'une application Web et, éventuellement, dans quelle langue elle est écrite.
Je sais que les extensions d'URL, les en-têtes HTTP, les cookies de session, les commentaires HTML et les feuilles de style peuvent révéler certaines informations mais c'est toujours difficile et non assuré.
Je me demandais donc: existe-t-il un moyen de déterminer la technologie et le cadre derrière un site Web?
Il n'y a aucun moyen d'être sûr à 100% si vous n'avez pas accès au serveur, il s'agit donc de deviner. Voici quelques indices:
login.php
Est très probablement un script PHP.X-Powered-By: PHP/7.0.0
signifie que la page a été rendue par PHP.Warning: Division by zero in /var/www/html/index.php on line 3
Est PHP, par exemple.CREATOR: Gd-jpeg v1.0 (using IJG JPEG v90), default quality
, ce qui peut aider à deviner quelle langue est utilisée./
Et /index.php
Sont la même page./humans.txt
), Vous pouvez vérifier leurs dépôts publics ou leurs compétences sur les profils en ligne (GitHub, LinkedIn, Twitter, ...).Vous pouvez également vouloir savoir si le site Web est construit avec un framework ou un CMS, car cela donnera des informations sur la langue utilisée:
/wp-content/
, Cela signifie que WordPress ont été utilisés.Notez que toutes les informations provenant du serveur peuvent être modifiées pour vous tromper . Vous devriez toujours essayer d'utiliser plusieurs sources pour valider votre supposition.
Pour deviner le langage de programmation, vous pouvez suivre l'approche en trois étapes détaillée ci-dessous:
Recherchez sur une page de site en bas des expressions comme:
->
"Propulsé par XXX"->
"Fièrement propulsé par XXX"->
"En cours d'exécution sur XXX"->
...
Recherchez sur le site s'il assistera à une conférence où ils pourraient parler du site d'un point de vue technique
Lisez le code HTML téléchargé par votre navigateur
Lancez le Network Tab
dans la barre d'outils développeur et étudiez les échanges effectués entre le navigateur et le serveur.
Recherchez une page cachée connue:
wget -head http://the-site.com/private/admin
Si vous en obtenez 200, le site peut fonctionner sur un logiciel accessible au public (gratuit, payant, etc.).
Vous pouvez rechercher des erreurs produites par le site Web.
Quelques mots clés à taper dans un moteur de recherche:
Vous pouvez même deviner les technologies utilisées dans le backend:
Découvrez quelle technologie est populaire dans l'industrie du site Web
Découvrez quelles technologies les concurrents utilisent
Trouvez des comparaisons du site avec d'autres concurrents.
Ces comparaisons peuvent parler des technologies utilisées
Ces sites peuvent fournir d'excellentes informations sur le site que vous ciblez. Ils ont peut-être déjà fait une partie du travail pour vous.
http://w3techs.com/sites
=> Entrez l'URL du site que vous ciblez et voyez quelles technologies (côté client ou serveur) ont été détectées.
Notez que le site doit figurer dans le top 1M du classement Alexa.
http://stackshare.io/search/q= <mot clé >
=> <mot-clé> peut être n'importe quel nom de société, nom de site Web, etc.
Les preuves que vous avez trouvées à étape 1 peuvent être erronées car le propriétaire du site peut les modifier. Essayez de trouver des contradictions entre ces preuves. Éliminez les preuves contradictoires.
Fusionnez les preuves à étape 2 entre les différentes sources et les vôtres. Éliminez à nouveau les preuves contradictoires.
Reprenez toutes vos constatations dans un tableau comme celui ci-dessous.
+-------------+-----------+------------------+ ... +----------+-------+--------+
| EVIDENCES | ON SITE | Search Engine 1 SOURCE n SCORE PCT (%)
+-------------+------------------------------+ ... +----------+-------+--------+
| PHP 7 | X | X | X | 3 | 300/n
+-------------+------------------------------+ ... +----------+-------+--------+
| Wordpress | | X | X | 2 | 200/n
+-------------+------------------------------+ ... +----------+-------+--------+
...
+-------------+------------------------------+ ... +----------+-------+--------+
| EVIDENCE m | | | | | (100*SCORE)/n
+-------------+------------------------------+ ... +----------+-------+--------+
Enfin, vous pourrez dire "Je suis convaincu à XX% que ce site fonctionne sur YY (EVIDENCE i)".
Outre l'extension de navigateur Wappalizer, plusieurs sites détectent les technologies qui alimentent un site Web donné:
La réponse est que vous ne pouvez jamais "être assuré". Alors que 99,9% du temps, les réponses très votées trouveront les "informations" sur le cadre derrière le site, mais ce n'est jamais une certitude.
Fondamentalement, votre navigateur reçoit les résultats finaux du traitement des codes. (html, CSS et JavaScript) Entre vous et le code lui-même se trouve un serveur Web (nginx, Apache, etc.) et potentiellement un équilibreur de charge et un CDN. Parce que vous n'interagissez pas directement, il n'y a aucun moyen de certitude.
Si un site Web diffuse du contenu à partir de wp-uploads/Il y a fort à parier qu'il fonctionne Wordpress mais ce n'est pas une certitude. Peut-être que le site utilisait Wordpress mais quand il a été migré vers autre chose, le chemin wp-uploads/a été conservé pour éviter de casser les liens et les signets.