WEB 2.0 Heuristic combat reptile | Ali nuage de porc Man

21 juin un verdict de culpabilité est apparu aux yeux du public, plusieurs de la partie défenderesse grouille de reptiles contenu du serveur, Verdict qui ont violé la « Loi pénale » L'article 285 « accès illégal à la criminalité de données du système d'information informatique » et condamné l'emprisonnement et des amendes XXX. (Cliquez ici)

Sous le bombardement de la foule:

Utilisateur A: Juste des reptiles d'apprentissage ne tardèrent pas, est de ne pas abandonner la fosse?

L'utilisateur B: comment exécuter vous?

Utilisateur C: Je ne reptiles grelottant .jpg

Utilisateur D: reptile ingénieur ce poste est de ne pas être cool?

Mais il y a aussi des masses plus rationnelles, par exemple: l'utilisation d'anciens employés familiers avec le système, ou peut-être vous-même la porte arrière, Crawls UA spécifique de faux accusé l'ancien club.

En outre, par exemple: nous ne paniquez pas, il a vu initié v2 a dit que, en fait, n'est pas un reptile, voler des données à l'intérieur du serveur.

En bref cette étoile technologie crawler de vocabulaire est entré dans l'il du public, et par hasard que, dans la récente Assemblée générale a accueilli par le prophète Ali nuage, maison d'hôtes Lei Feng canal de réseau ont également entendu les problèmes liés à un robot.

L'orateur est un expert senior en sécurité Ali nuage Pig Man, a des tests de sécurité automatisé depuis longtemps engagé, familier avec une variété de technologies de développement, se spécialise dans les tests de pénétration et l'exploration de données.

Pig Man décrit comment un robot de dynamique basée sur l'expérience historique et scène connue, la structure et la mise en uvre. En mode débogage Headless fourni par le navigateur, tous les objets dynamiques pour parcourir une page Web, la valeur du paramètre est remplir automatiquement le formulaire d'entrée, et un événement est lié à ce sujet, une solution efficace pour les tests de sécurité lors de l'extraction de surface d'attaque.

Ce qui suit est le discours Pig Man, Lei Feng réseau de commande.

Prenant la parole devant la technologie de chenille, d'abord réfléchir à une question: Pourquoi avons-nous besoin d'un reptile scanner?

Selon un grand nombre de spectacles d'analyse de l'enquête que les entreprises les plus nationales pour faire des tests de sécurité dans la chair humaine Shihai maintenir le cap. Relativement faible niveau d'automatisation des tests et des entreprises dans le processus de test de sécurité quotidienne, a mis beaucoup de coûts de main-d'uvre dans le travail répétitif.

Les gens sont la chair et le sang, parfois fatigué, parfois trop émotif. Une entreprise peut testeurs mauvais temps pour faire le test à l'esprit, les résultats finaux des tests de sécurité est de voir l'humeur, la surface d'attaque et seulement quand il est entièrement essai préparé peut être garantie. Web2.0 est très actif dans le même laps de temps, ce qui entraîne beaucoup d'échec, leurs robots d'exploration ne peut pas reconnaître la structure des liens de la page entière.

Cette fois-ci nous avons besoin d'une aide de reptiles nous améliorer l'efficacité de l'ensemble des tests de sécurité.

Tout d'abord, les pairs de l'industrie, et les ingénieurs de sécurité est de savoir comment atteindre les reptiles? Pour un premier exemple, avant que l'ami du groupe micro-canal dit, il utilise la chaîne de code de la figure ramper sous seebug pas monter les résultats. En effet, les techniques site seebug utilise le code d'obscurcissement et a été fréquemment mis à jour, entraînant un reptile de la nature purement statique avant la rupture complète.

Comment remédier aux insuffisances des reptiles statiques?

Juste besoin d'une petite introduction de nouvelles technologies, comme avec moteur GS robots d'exploration sera en mesure de résoudre ce problème, vous installez un package avec l'installation PIP, utilisez le côté gauche du code sera en mesure de compléter les informations de liaison seebug de montée.

Ce projet est sans héritage de développement de l'interface du navigateur de Google. Aucune interface intégrée pour le navigateur healless, maintenant il y a quatre ans, ils utilisent de nombreuses bibliothèques tiers désavantage est très instable. Plus tard PhantomJS apparaissent, mais PhantomJS beaucoup de problèmes ne peut pas être réparé, a déclaré ne plus maintenir après l'auteur, ne peut choisir l'interface du navigateur gratuit de Google.

Pourquoi les PhantomJS de Google étaient des reptiles utilisation, il y a trois points. Le premier géant Google a soutenu, la part du monde Google Browser du premier, rythme régulier, quelques heures de mise à jour de version. En outre le soutien Google pour l'organisation des normes du W3C est le plus élevé dans le monde tous les navigateurs, la compatibilité est également bon.

Retour au sujet aujourd'hui, ce sont les reptiles heuristique?

Dans crawler court heuristique, il est basé sur l'expérience historique et tous ont vu la scène connue, construire et mettre en uvre les règles de reptiles et en analysant ces scènes avec une expérience connue.

Ensuite, nous regardons l'ensemble des processus les plus pratiques heuristic de reptiles. Premiers reptiles peuvent être considérés comme un système de ligne d'assemblage de l'usine, le système de canalisation, il y aura un capitaine en charge de chaque ordonnancement des tâches de ligne de production, où ROP est le capitaine. Après un processus clair, toutes les étapes de leurs fonctions pour atteindre leurs fonctions respectives.

La fonction est responsable de la planification et de reptiles de gestion des événements capitaine ce gestionnaire. Ce faisant reptiles scanner capitaine de première étape première URL transmise au planificateur de tâches, la tâche passée au capitaine ci-dessous, puis ouvrez la page à charger dans l'état. Après la page se charge complètement nécessaires pour déterminer si la page en cours, tels que le réseau de serveur web parfois certains est pauvre, ou GS a rencontré une erreur, le site affiche des ressources délai d'attente incomplet, cette fois par trois états peuvent être déterminées selon la note icône page entière la structure est chargée, que ce soit pour ouvrir la page entière est terminée.

Après avoir terminé les verrous entiers de page du navigateur ne font rien, il ouvre une autre nouvelle page ou saut vers d'autres pages vers le haut.

Lorsque les charges entières page bien, l'ensemble saut de page dans la fonction peut être verrouillée après l'étape de détournement d'avion. Puis il a commencé à injecter un auditeur de surveiller les changements dans les informations et les événements de tous les événements déclenchés. Quand une partie du fichier d'informations est chargé, détournement d'avion de fonction, après l'écoute est fait, vous pouvez compiler tous les cas la zone d'entrée liée à une valeur de paramètre d'entrée de jugement classique.

Lorsque nous avons trouvé la page du formulaire, vous pouvez saisir le nom du type et de la forme en analysant la forme, remplir certains paramètres. Après tous les processus ci-dessus, vous obtiendrez toutes les informations des résultats du titre de la page courante. À ce stade, vous pouvez aller après le filtrage sans fin, retourne au gestionnaire d'événements, répéter l'ensemble du processus.

Après avoir déterminé l'arrière d'écoulement global à la première étape, la page se charge, entrez atteindre.

Lorsqu'une page est chargée, le code doit être injecté dans notre détournement d'avion à quel moment, il y a un état où les bords peuvent être sélectionnés. Après le premier chargement de la page, le second est terminée après l'attente d'une page à charger, ce qui est l'état actuel de l'ensemble du réseau est inactif, la totalité du flux d'exécution de reptile avant de poursuivre, ou déterminer si est chargé et analysé l'arbre DOM de la page entière.

Consulter demandant une partie de connexion, le problème est Web2.0 figure trois cercles et les reptiles Web1.0 font l'objet d'intérêt. Lorsque vous rampez une page, mettez un code à vos pages sautaient, et peut même règle n'a pas terminé le chargement de la page a été les gens se détournent.

Tout le monde est donné une autre solution à ce problème, certaines personnes se recommandent à la recompilation de code d'origine. En fait, en plus d'une solution, qui est, le mécanisme de plug-in, peut être réalisé dans une autre couche de contrôle au navigateur. Ci-dessous, fournit un plug-in navigateur pour chaque objet, quand avant que le navigateur entier pour lancer une demande peut être déclenchée en cas d'un moment, avant d'ajouter une page pour ouvrir ici en fonction.

Tels que le moment de prendre place au-dessus 123, vous pouvez ajouter un écouteur d'événement, toute la demande de page Web en cours de l'inverse la page verrouillée sur le lien, lors de l'exploration d'une page quand il n'a plus aucune fonction du saut de page pour aller, cela permettra de déterminer l'intégrité de la page entière. Je suppose que les annonces vidéo plug-ins blindés, ainsi que de profiter de cette fonction pour réaliser cette fonction.

Un autre problème est notre problème ne cesse d'apparaître dans une variété de pop, rencontre même un certain développement extrême, ajouter quelques paramètres et l'adresse fonction de rafraîchissement dans la page web. Si vous voulez vous assurer que nous pouvons créer un reptilien lisse rampants la page est pas en direct pit bizarre du navigateur, nous devons être en mesure de fonctionner directement sur le site de fabrication de blocage connu dans le détournement d'avion.

Lorsque la page se charge, vous pouvez écouter tous les événements pop, aussi longtemps que la fenêtre pop-up, après la fin de tous se débarrasser de ces derniers. A propos de la fonction de délai d'attente, nous avons développé une fonction native appelle cette fonction lorsque le temps est définitivement réglé sur 0, suivi par la mise en uvre de cette méthode est d'appeler une fonction de contrôle du temps, prendre le cycle de vie est réglé sur 0, pour ne pas parce que certains de développement de code cause de la page entière à encadrer.

Il y a aussi une industrie des reptiles est très préoccupé par est de savoir comment obtenir des informations de requête AJAX.

Il y a deux façons, l'une en utilisant la fonction d'interception, semblable à un proxy du scanner passif, le navigateur fournit toutes les ressources de cette API, tant que le réseau peut être intercepté des informations de demande enregistrée par cette méthode.

La deuxième méthode est simple et brut leurs fonctions peuvent être utilisées directement aux fonctions natives détournement haut, le bas enregistrement d'informations à la demande, où seul le scanner peut pirater ces méthodes nécessitent toutes les chenilles fonctions.

Lorsque le processus de détournement d'avion de fonction est terminée, nous commençons à analyser l'ensemble de la page les informations suivantes pour tous les noeuds et les informations de forme, la pratique spécifique de deux façons. Par exemple, tous DOM nuds peut circuler à travers l'utilisation de l'information. De plus, nous pouvons utiliser les puissants outils fournis par les DOM, les règles de filtrage personnalisées documentent noeuds, les noeuds pour générer de nouvelles informations. Nous pouvons définir à l'avance que vous souhaitez capturer les informations de nud de règles pertinentes, telles que la SRC tant que nous sommes sur un noeud DOM, écoute avec toutes les informations pertinentes ainsi que, tant que l'adresse de toute information de connexion sur une page Web ou une image de changement, il peut être capturé par cette méthode.

Après avoir obtenu toutes les informations dans les DOM, tous les besoins d'information pour déclencher à nouveau l'événement, nous avons tendance à recommander pour une scène particulière, pour correspondre à la mise en uvre. Par exemple, dans la navigation des sites d'information, la nécessité de faire défiler la brosse de rafraîchissement de l'écran plus nouvelles, derrière la technologie est une méthode utilisée pour écouter la mise en uvre flip. Par exemple, utiliser une boîte modale lorsque le besoin d'un bouton au milieu d'une page Web, qui est lié bon événement, appuyez sur la zone modale s'affiche pour entrer des informations. Tels que communautaires et savoir presque boules de neige site, afin d'obtenir la livraison en temps réel de leur message, derrière le fonctionnement de la tâche historique.

Lorsque le nud entier pour obtenir des informations et des informations de liaison, vous pouvez choisir de déclencher ces informations d'événements. Il y a deux informations d'événement déclencheur, comme indiqué ci-dessous le code, un événement ci-dessus, le nom de l'événement est un clic, peuvent être déclenchées directement par un code d'événement directement Déclare, lorsque deux lignes de navigateur d'exécution de code surgiront un clic de la pop. Une autre méthode simple consiste à trouver derrière les événements brutaux de valeur, la valeur de l'événement de liaison est derrière un code qui peut être exécuté appeler directement EVAL.

Bien sûr, nous pouvons simuler tout état de cause, le but de notre robot d'exploration a été conçu pour faire des tests de sécurité, tests de sécurité, a décidé de savoir combien la surface d'attaque de l'ensemble des résultats des tests de sécurité. La forme est très important dans la scène Web. Par exemple, je me connecte pages, pages de recherche tout au long du processus de développement, entraînant une augmentation des requêtes de base de données et les formulaires liés à des modifications. Traversal de la forme il y a plusieurs façons, mais il y a une autre façon plus pratique d'utiliser directement le natif d'objet, à travers le cycle de la boîte de connexion forme actuelle à l'intérieur duquel le contenu de savoir.

Après l'achèvement de la mise en place de la forme, des types de paramètres acquis automatiquement forment à l'intérieur de la boîte d'entrée de caractères longitudinal, afin de générer une valeur appropriée pour chaque paramètre, tandis que le noeud peut invoquer la méthode, pour former une valeur de conception, ou peut aider à bouton sur le point de ce procédé options. Lorsque nous avons un formulaire, il peut remplir automatiquement. Par exemple, les reptiles ont trouvé une page est une interface de connexion peut être jugé par sa boîte de saisie du nom, ne l'est pas les contenir, si elle est, il est défini par les bonnes règles suivantes, directement à l'intérieur de choisir un nom, remplissez le passé. Quand nous trouvons à l'intérieur est une forme qui lui est associée, nous pouvons vous en tirer avec des noms anglais à l'intérieur de nos règles, puis attendre un @, puis mettre une liste des DOM prendre au hasard pour obtenir une boîte aux lettres est automatiquement rempli .

Après un coup d'il à l'ensemble du processus introduit reptile DEMO, ramper principalement une page web, toutes les images d'information sur les pages, l'apport et des éléments dynamiques de sortir.

demo Télécharger: https: //github.com/ring04h/papers/blob/master/xianzhi_crawler_demo.mov

Le dernier est un résumé des quatre vues.

Quand nous trouvons des chiffres isolés dans les apparaît URL que 90% des cas sont des paramètres dynamiques.

Lorsqu'une page résultat rampant, un lien très grande Pass, à l'intérieur de la consistance de la présence de longueur similaire, et le mode de génération est généré par d'autres moyens. Nous pouvons déterminer quel lien existe la même longueur, si ce nombre est supérieur à 5 ou 10, vous devez être prudent lorsque le bord est un paramètre dynamique.

Nous résolvons le problème de pseudo-statique, quatre vingt sept pour cent en situation de pseudo-statique par des barres et des barres anti-analyser cela. Tels que la première barre oblique inverse pseudo-statique est connecté, ce qui suit est des barres pseudo-statique. Nous allons faire partie de la division entière, diviser ce type de valeur, si elle façonne pour frapper le premier numéro apparaît dans l'isolement tant qu'un chemin est susceptible d'être un paramètre dynamique.

De plus, nous ne passons par HASH d'insectes, tels que des liens vers eux de la même façon 123456789, nous avons juste besoin de couper la connexion de chaque paramètre entre parenthèses coupe, et enfin voir leur fréquence d'apparition, si le nombre qui apparaît beaucoup, au nom de le paramètre est une constante, il est fixé enlevé. Si le nombre de paramètres de l'émergence de très lâche, seulement 1 et 2, l'arrière des paramètres de chemin peut être des paramètres dynamiques.

Au-dessus de l'Assemblée générale prophète Ali, réseau Lei Feng édité.

Apprenez cette recette, ouvrez le modèle manuel peut alimenter beaucoup!
Précédent
Lent Nouvelles · Personnes | Sciences Pa Interpol: « roi de la preuve » qui décodée
Prochain
la machine mille Yuan peut également compter sur le visage pour manger! de superbes dessins mille machines recommandé
4 heures craignent manqué le destin de coupe Coupe, le dos de l'existence solitaire pot? Mon attitude a changé, pas aussi confiant
pousser aussi plus Android8.0? La prochaine génération de nouvelle fonctionnalité Android9.0 a été exposé!
Kitty Zhang Yuan Yuan soupçonné composé pakistanais, « un coup de couteau » Mon mari question reste
Texture de l'essai routier de la voiture de la famille FAW Xenia R71.6L 6AT
AI première défaite dans Dota 2 batailles de l'équipe humanité, actions Evergrande de HK $ 6,746 milliards à FF principal actionnaire, la délégation des États-Unis a présenté une demande introduction
d'abord enseigner à puce au monde peut vous sinophones « Lily », tu sais?
« Nouvel An » de l'industrie Internet: Jingdong course saveur de poulet de porc central et Netease!
tout nouveau trailer "Sea King" Heroes montrent Rise "Super 7" réalisateur James Wan à construire Avatar sous-marine
officiel Fist a déclaré: RNG avec la composition Karsa double expédition sauvage MSI! UZI mais aussi l'incarnation d'un chien fou?
Avant l'hippocampe 3 véhicule électrique pur des subventions officiellement cotées 209800
Devant haute énergie! Vans année la plus folle famille commune est née?