Merci @ Elite Prince d'avoir mentionné mon projet : https://github.com/justjavac/ChromeSnifferPlus Si vous êtes intéressé, vous pouvez vérifier directement le code source.
1. Jugement basé sur des méta-informations
De nombreux sites Web ajouteront des informations sur le framework dans les méta, tels que Joomla, XOOPS et MediaWiki ajouteront un générateur ; phpBB ajoutera le droit d'auteur ; Avactis ajoutera l'auteur. Grâce à ceux-ci, vous pouvez détecter le système de création de site Web utilisé par le site Web et connaître la langue utilisée.
2. Juge basé sur la balise de script
Comme ci-dessus, détectez le système de création de site Web utilisé par le site Web pour connaître la langue utilisée.
3. Basé sur les informations d'en-tête
La langue utilisée en arrière-plan peut être détectée grâce aux informations d'en-tête alimentées par x
4. Selon la séance
Selon le cookie qui transmet l'identifiant de session, par exemple, l'ID de session utilisé par PHP est PHPSESSID et l'ID de session utilisé par JSP est JSESSION.
5. Selon la page d'erreur
Vous pouvez également voir de nombreuses informations via la page d'erreur. Par exemple, le site de réservation de billets est développé en Java.
6. Selon la structure du répertoire
Y compris la structure de l'URL, la structure des fichiers statiques, etc. Si un framework de développement ou un système CMS est utilisé, ces structures de répertoires ont certaines règles.
7. Basé sur le contenu Web
Vous pouvez utiliser des expressions régulières pour faire correspondre les codes HTML, connaître les droits d'auteur et les propulsés par, puis apprendre le langage utilisé.
8. Selon le serveur
Obtenez les informations du serveur via 404 ou les informations d'en-tête, puis apprenez le langage de programmation, tel que nodejs, tomcat, etc.
Pour les URL avec suffixes, rien de plus simple. .php est naturellement développé par php, asp, aspx sont les mêmes, et bien sûr il y a .action .do et ainsi de suite, qui sont généralement java
Basé sur la structure de fichiers statique
Les différences entre ces différents frameworks de développement sont assez importantes. Par exemple, rails compressera js en quelque chose de similaire comme application-7fds7afds98afdsa8.js. Les frameworks tels que Django ont également leurs propres règles de dénomination.
Selon la page d'erreur
Il existe des pages relativement de second ordre. Si vous jouez avec la page et faites délibérément des soumissions erronées, une page d'erreur peut apparaître, qui peut contenir ce que vous voulez (mais il existe des sites Web dans cette situation, elle est donc de référence. valeur. Pas grand non plus)
Selon déclaration
Regardez le mot "powerd by" dans le pied de page. Si le site Web est construit à l'aide des outils actuels, il y aura des mots tels que "powerd by wordpress", "powered by django" et ainsi de suite.
Selon le recrutement du site internet
Si le site Web dispose d'une section de recrutement, vous pouvez deviner quel type de développeurs ils recrutent.
Théoriquement, il est impossible de juger correctement à 100 % le langage de développement backend grâce à l'interaction entre le client et le backend du serveur. Parce que le langage est équivalent à Turing, un langage différent peut également développer un backend avec les mêmes performances. Vous pouvez interroger les personnes concernées dans ce contexte sur la langue qu'elles utilisent.
Pour les frameworks réseau dans certaines langues, vous pouvez également capturer le flux de données HTTP et déterminer quel framework est utilisé en fonction du serveur de champ d'en-tête HTTP, puis déterminer quelle langue est utilisée.
Ajoutez-en un de plus.
Parfois, vous pouvez savoir dans quelle langue leurs produits sont développés en regardant quels ingénieurs leur entreprise recrute.
Il est difficile d'obtenir tous les résultats avec précision. Qu'il s'agisse de l'URL ou de toute autre chose, elle peut être modifiée. Je veux juste faire une estimation approximative basée sur l'expérience. Bien sûr, aucun traitement n'a été effectué. .php peut être connu. .
Merci @ Elite Prince d'avoir mentionné mon projet : https://github.com/justjavac/ChromeSnifferPlus Si vous êtes intéressé, vous pouvez vérifier directement le code source.
1. Jugement basé sur des méta-informations
De nombreux sites Web ajouteront des informations sur le framework dans les méta, tels que Joomla, XOOPS et MediaWiki ajouteront un générateur ; phpBB ajoutera le droit d'auteur ; Avactis ajoutera l'auteur. Grâce à ceux-ci, vous pouvez détecter le système de création de site Web utilisé par le site Web et connaître la langue utilisée.
2. Juge basé sur la balise de script
Comme ci-dessus, détectez le système de création de site Web utilisé par le site Web pour connaître la langue utilisée.
3. Basé sur les informations d'en-tête
La langue utilisée en arrière-plan peut être détectée grâce aux informations d'en-tête alimentées par x
4. Selon la séance
Selon le cookie qui transmet l'identifiant de session, par exemple, l'ID de session utilisé par PHP est PHPSESSID et l'ID de session utilisé par JSP est JSESSION.
5. Selon la page d'erreur
Vous pouvez également voir de nombreuses informations via la page d'erreur. Par exemple, le site de réservation de billets est développé en Java.
6. Selon la structure du répertoire
Y compris la structure de l'URL, la structure des fichiers statiques, etc. Si un framework de développement ou un système CMS est utilisé, ces structures de répertoires ont certaines règles.
7. Basé sur le contenu Web
Vous pouvez utiliser des expressions régulières pour faire correspondre les codes HTML, connaître les droits d'auteur et les propulsés par, puis apprendre le langage utilisé.
8. Selon le serveur
Obtenez les informations du serveur via 404 ou les informations d'en-tête, puis apprenez le langage de programmation, tel que nodejs, tomcat, etc.
C'est une question assez compliquée.
Juge basé sur l'url
Pour les URL avec suffixes, rien de plus simple. .php est naturellement développé par php, asp, aspx sont les mêmes, et bien sûr il y a .action .do et ainsi de suite, qui sont généralement java
Basé sur la structure de fichiers statique
Les différences entre ces différents frameworks de développement sont assez importantes. Par exemple, rails compressera js en quelque chose de similaire comme application-7fds7afds98afdsa8.js. Les frameworks tels que Django ont également leurs propres règles de dénomination.
Selon la page d'erreur
Il existe des pages relativement de second ordre. Si vous jouez avec la page et faites délibérément des soumissions erronées, une page d'erreur peut apparaître, qui peut contenir ce que vous voulez (mais il existe des sites Web dans cette situation, elle est donc de référence. valeur. Pas grand non plus)
Selon déclaration
Regardez le mot "powerd by" dans le pied de page. Si le site Web est construit à l'aide des outils actuels, il y aura des mots tels que "powerd by wordpress", "powered by django" et ainsi de suite.
Selon le recrutement du site internet
Si le site Web dispose d'une section de recrutement, vous pouvez deviner quel type de développeurs ils recrutent.
Portail : BuiltWith sur Chrome Webstore
https://github.com/justjavac/ChromeSnifferPlus
Parfois, il y a un élément X-Powered-By dans l'en-tête de réponse, et vous pouvez voir le langage de développement.
Théoriquement, il est impossible de juger correctement à 100 % le langage de développement backend grâce à l'interaction entre le client et le backend du serveur. Parce que le langage est équivalent à Turing, un langage différent peut également développer un backend avec les mêmes performances. Vous pouvez interroger les personnes concernées dans ce contexte sur la langue qu'elles utilisent.
Pour les frameworks réseau dans certaines langues, vous pouvez également capturer le flux de données HTTP et déterminer quel framework est utilisé en fonction du serveur de champ d'en-tête HTTP, puis déterminer quelle langue est utilisée.
Ajoutez-en un de plus.
Parfois, vous pouvez savoir dans quelle langue leurs produits sont développés en regardant quels ingénieurs leur entreprise recrute.
Une chose à mentionner, vous pouvez regarder le suffixe tel que xxx.php, alors il peut s'agir de php, mais vous n'êtes pas sûr, cela peut être modifié
Il est difficile d'obtenir tous les résultats avec précision. Qu'il s'agisse de l'URL ou de toute autre chose, elle peut être modifiée. Je veux juste faire une estimation approximative basée sur l'expérience. Bien sûr, aucun traitement n'a été effectué. .php peut être connu. .
Avant, je regardais les actions des formulaires, mais maintenant les sites Web sont plus intelligents