Questions d'entretien technique sur la cybersécurité

Cet article a pour but de vous aider à résoudre certains problèmes rencontrés lors des entretiens. Si vous pensez que cela vous est utile, n'oubliez pas de liker et de partir ~ (Il y a une surprise à la fin de l'article)

FCT

Parlez d’un sujet CTF impressionnant

  • Remplissage Oracle->CBC->Cryptographie (RSA/AES/DSA/SM)

  • CRC32

  • Vulnérabilité de désérialisation

injection secondaire SQL

Lors de l'insertion de données dans la base de données pour la première fois, j'ai simplement utilisé des addlashes ou get_magic_quotes_gpc pour échapper aux caractères spéciaux. Les données originales étaient toujours conservées lors de l'écriture dans la base de données, mais les données elles-mêmes étaient toujours des données sales. Après avoir stocké les données dans la base de données, le développeur considère que les données sont dignes de confiance. La prochaine fois qu'une requête est nécessaire, les données sales sont supprimées directement de la base de données sans inspection ni traitement supplémentaires, ce qui entraînera une injection secondaire de SQL.

Sur un site de rencontres, où vous indiquez votre âge, c’est un point d’injection, et la page indiquera combien d’utilisateurs ont le même âge que vous. Utilisez et 1=1 pour déterminer le point d'injection, utilisez order by pour détecter le nombre de colonnes et union select pour détecter à quelle colonne se trouve le point de sortie.

  1. Utiliser group_concat(schema_name) depuis information_schema.schemata

  2. J'utilise group_concat(table_name) depuis information_schema.schemata où table_schema='hhh'

  3. Récupérer les données concat (drapeau) à partir du drapeau

Correctif : lors de la récupération des données de la base de données ou du fichier, échappez-les ou filtrez-les.

Python

Module crawler, framework, mécanisme anti-crawler (IP->pool proxy, cracking du code de vérification, UA)

Concurrence (la différence entre le multithread, le pool de threads, la coroutine et trois processus)

Le processus est la plus petite unité d’allocation de ressources CPU et le thread est la plus petite unité de planification CPU. Dans le passé, le processus était la plus petite unité d'allocation des ressources et de planification. Plus tard, afin d'utiliser le processeur de manière plus rationnelle (en fait, les performances du processeur s'améliorent de plus en plus), l'allocation des ressources et la planification ont été séparées, et les threads ont été créés. Un thread est une unité d’exécution de programme basée sur un processus.

Bibliothèques standards couramment utilisées

  • outils fonctionnels -

  • itérateur itertools

    • compter/cycle/répéter

    • chaîne

    • groupby sélectionne les éléments en double adjacents dans l'itérateur et les rassemble

  • concurrent.futures

    • ThreadPoolExécuteur

  • hashlib

    • md5

    • boire 1

    • sha256

    • sha512

  • enregistrement

  • sys.argv argparse lit les paramètres de ligne de commande

  • outil de sérialisation des cornichons

  • je suis régulier

  • collecte plusieurs types de données

    • tuple nommé

    • OrdonnéDict

    • Comptoir

  • fonctions liées au système d'exploitation

Différences et utilisations de DJANGO et FLASK

ORM

Écriture d'outils de sécurité Python/lecture de code source

Prouver la capacité

  • développement d'un outil de sécurité Python

  • projet python, rappelez-vous les détails techniques

Cryptographie

RSA

DES

AES

Série SM domestique

l'évaluation des risques

processus

 

Trois éléments

  • Actif : Valeur de l'actif

  • Menaces : sujets de menace, objets concernés, fréquence d'apparition, motifs, etc.

  • Vulnérabilité : gravité de la faiblesse d'un actif

Vérification des codes

Fority SCA audite le code JAVA

Quel module Fortify utilise-t-il ? Filtrer les règles personnalisées pour générer des rapports

Seay audite le code PHP

Lecture du code source

Procédures spécifiques aux interventions d’urgence

Modèle

Modèle PDCERF

  • Préparer : préparer les outils et les personnes pour les tests

  • Détection : surveillance des événements d'urgence : y compris les journaux ***, les systèmes, les serveurs Web, IDS/WAF/SIEM, les utilisateurs anormaux ou ayant effectué des opérations non autorisées, et même les rapports des administrateurs

  • Confinement : tout d'abord, contrôlez l'ampleur des dégâts et évitez que l'impact de l'attaque ne se propage à d'autres actifs informatiques et environnements commerciaux. N'oubliez pas de ne pas investir directement toute votre énergie dans le blocage de la porte dérobée. La prochaine chose à faire est de trouver la cause première, de la résoudre complètement, de bloquer la source de l’attaque et de rétablir l’activité à un niveau normal.

  • Éradication

  • Récupérer

  • Suivi : basé sur diverses surveillances pour déterminer qu'il n'y a pas d'autres comportements d'attaque ni vecteurs d'attaque, suivi de réunions pour réfléchir à l'incident, rédiger des rapports et améliorer continuellement les processus de travail et l'atténuation du travail.

Exemple

DDOS

Qu'est-ce que le DDOS

L'attaque par déni de service distribué (DDoS) est une méthode d'attaque souvent utilisée par les pirates informatiques et difficile à prévenir. Il existe de nombreuses méthodes d'attaque DoS. L'attaque DoS la plus élémentaire consiste à utiliser des demandes de service raisonnables pour occuper trop de ressources de service, afin que les utilisateurs légitimes ne puissent pas obtenir de réponses de service.

La méthode d'attaque DDOS est un type de méthode d'attaque basée sur l'attaque DOS traditionnelle. Une seule attaque DOS adopte généralement une méthode individuelle. Lorsque la cible de l'attaque a une faible vitesse de processeur, une petite mémoire ou une petite bande passante réseau, etc., ses indicateurs de performance ne sont pas élevés et son effet est évident. Avec le développement de la technologie informatique et réseau, la puissance de traitement des ordinateurs a augmenté rapidement, la mémoire a considérablement augmenté et des réseaux au niveau Gigabit sont également apparus, ce qui rend les attaques DOS plus difficiles - la cible « digère les paquets d'attaque malveillants » " "La capacité" a été considérablement améliorée. Par exemple, votre logiciel d'attaque peut envoyer 3 000 paquets d'attaque par seconde, mais la bande passante de mon hôte et de mon réseau peut traiter 10 000 paquets d'attaque par seconde, donc l'attaque n'aura aucun effet. Ensuite, le déni de service distribué La méthode d'attaque (DDOS) a vu le jour.

Si la puissance de traitement des ordinateurs et des réseaux a été multipliée par 10 et que l'utilisation d'une seule machine d'attaque pour attaquer n'est plus efficace, que se passera-t-il si l'attaquant utilise 10 machines d'attaque pour attaquer en même temps ? Et si on utilisait 100 unités ? DDOS utilise davantage de machines fantoches pour lancer des attaques et attaquer les victimes à plus grande échelle qu'auparavant. Habituellement, le serveur attaqué présente les symptômes suivants : 1. Il y a un grand nombre de connexions TCP en attente sur l'hôte attaqué ; 2. Le réseau est inondé par un grand nombre de paquets de données inutiles avec de fausses adresses sources ; 3. Un trafic élevé de des données inutiles sont générées, provoquant une congestion du réseau qui empêche l'hôte victime de communiquer normalement avec le monde extérieur ; 4. Profiter des défauts des services ou des protocoles de transmission fournis par l'hôte victime pour émettre à plusieurs reprises des demandes de service spécifiques à grande vitesse, ce qui rend la victime l'hôte est incapable de traiter toutes les demandes normales en temps opportun ; 5. Dans les cas graves, le système plantera

Exemple

L'adresse IP 223.223.223.223 de notre site Web www.catroot.cn a été attaquée par DDOS, et le trafic a atteint 9G, et le nettoyage du trafic de la salle informatique a été inefficace, donc 223.223.223.223 a été bloqué, rendant le site Web inaccessible. plan d'urgence.

  • Équipements et installations de réseau

    • Luttez pour la bande passante et augmentez la bande passante, mais le coût est trop élevé

    • Utiliser du matériel***

    • Choisissez un équipement performant

  • Idées et plans anti-D

    • l'équilibrage de charge

    • Dépenser de l'argent pour des services de nettoyage de la circulation

    • CDN : couche Web, comme l'attaque cc

    • Défense de cluster distribué

    • Haute défense : empêche la plupart des attaques, UDP, grandes attaques CC

  • La prévention d’abord

    • Vulnérabilités du système

    • Optimisation des ressources système :

    • Filtrez les services et les ports inutiles

    • Restreindre un trafic spécifique : vérifiez la source d'accès et effectuez les restrictions appropriées

L'hôte est compromis

  1. Prioriser l’extraction des données qui disparaissent facilement

    • Informations sur la mémoire gratuites -m `htop

    • Processus système ps top netstat ss

    • Tracert des informations de routage

  2. ifconfig vérifie le trafic de la carte réseau et vérifie les données d'envoi et de réception de la carte réseau

  3. NetHogs surveille l'utilisation de la bande passante en temps réel

  4. Afficher le journal/var/log du système Linux

  5. Logiciel antivirus ClamAV

Processus de test d’intrusion lié

Processus de test d'intrusion

  1. Entretiens de projet

  2. Collecte d'informations : whois, adresse IP source du site Web, site secondaire, site Web du segment C, version du système serveur, version du conteneur, version du programme, type de base de données, nom de domaine de deuxième niveau, ***, informations sur le responsable

  3. Analyse des vulnérabilités : Nessus, AWVS

  4. Exploration manuelle : vulnérabilités logiques

  5. Vulnérabilité d'authentification

  6. Suggestions de réparation

  7. Vulnérabilités de base/retest (le cas échéant)

  8. Rapport de sortie

    • Aperçu

    • Tester les informations de base

      • Plage de test

      • temps de test

      • Tâches de test

      • Processus de test

    • Analyse complète des risques liés à la sécurité de l’information

      • Analyse globale des risques

      • analyse de l'impact des risques

      • Analyse de la sécurité du système

      • Liste des failles de sécurité

    • Suggestions de solutions

    • Rapport de nouveau test

Projet de tests d'intrusion

Utilisez sept ou huit phrases pour résumer la découverte, la vérification des détails de la vulnérabilité, le rôle joué et le travail spécifique. Si le technicien est intéressé, il continuera à demander, puis l'orientera ailleurs afin qu'il puisse donner plus de détails.

Mise en place de tests d'intrusion

OWASP TOP10 en 2017

  • Injection : sql, nosql, ldap, os

  • Authentification interrompue :

  • Fuite d’informations sensibles

  • Entité externe XML XXE

  • Contrôle d'accès invalide : la page de gestion n'est accessible qu'avec les privilèges d'administrateur ; vulnérabilité d'accès non autorisé

  • Erreurs de configuration de sécurité : messages d'erreur de page, mots de passe par défaut, applications utilisant des vulnérabilités connues

  • XSS

  • Désérialisation non sécurisée : un forum PHP utilise la sérialisation d'objets PHP pour enregistrer un cookie. L'utilisateur peut modifier le cookie pour simuler la connexion de l'administrateur.

  • Utiliser des composants présentant des vulnérabilités connues : comme le framework structs2

  • Journalisation et surveillance insuffisantes : le code a été supprimé et ne peut pas être retracé jusqu'à sa source ; le nombre d'échecs de connexion est enregistré ; les problèmes de surveillance ne reçoivent pas de réponse de la part de l'administrateur.

Vulnérabilités courantes de sécurité Web

  • Injection SQL

  • XSS

  • Traversée de fichiers, téléchargement de fichiers, téléchargement de fichiers

  • Ultra vires vertical, ultra vires horizontal

  • Des failles logiques

Quelles failles logiques avez-vous creusées ?

Modifier n'importe quel montant de la commande

Le même prix augmente la quantité commandée, la même quantité commandée réduit le prix du produit et le prix de la commande est fixé à un nombre négatif.

Idées de prévention :

  • La commande nécessite plusieurs validations

  •  

  • Lorsque la valeur de la commande est importante, un examen manuel est requis

Retour du code de vérification

Les vulnérabilités surviennent généralement lors de la récupération du mot de passe du compte, de l'enregistrement du compte, des ordres de paiement, etc. Les codes de vérification sont généralement envoyés par SMS ou par e-mail.

Idées de prévention :

  • Les données de réponse ne contiennent pas de code de vérification. La méthode de vérification utilise principalement la vérification back-end. Cependant, l'inconvénient est que la pression de calcul sur le serveur augmentera également.

  • Si vous souhaitez effectuer une vérification frontale, c'est également possible, mais le cryptage est requis.

Identifiants de connexion non vérifiés

Certaines interfaces professionnelles ne vérifient pas les informations de connexion des utilisateurs ou présentent des défauts de vérification, permettant aux pirates informatiques d'accéder à des informations sensibles sans autorisation ou même d'effectuer des opérations non autorisées. Par exemple, les pages d'arrière-plan, l'énumération des identifiants de commande, les informations sensibles peuvent être téléchargées, aucune vérification d'identité ou vérification de cookies ne conduit à un accès non autorisé.

Idées de prévention :

  • Effectuer une vérification par cookie, SSID, jeton ou autre sur les interfaces et les pages où existent des données sensibles

Énumération illimitée des interfaces

  • Une interface de connexion de commerce électronique n'a aucune vérification, ce qui conduit à un credential stuffing

  • Énumération illimitée de codes de vérification pour un site de recrutement

  • Énumération des coupons pour une certaine société express

  • Une énumération des numéros de carte de membre e-commerce

Idées de prévention :

  • Définissez la vérification sur l'interface d'entrée, telle que le jeton, le code de vérification, etc. Si vous définissez un code de vérification, il est préférable de ne pas simplement utiliser une vérification frontale, mais plutôt de choisir une vérification back-end. Si vous définissez un jeton, assurez-vous que chaque jeton ne peut être utilisé qu'une seule fois et définissez les paramètres de temps pour le jeton.

  • L'interface de l'interface d'inscription ne doit pas renvoyer trop d'informations sensibles pour empêcher les pirates de créer des dictionnaires d'énumération.

  • N'utilisez pas de chiffres courts pour le code de vérification, essayez de comporter plus de 6 chiffres, de préférence une combinaison de lettres et de chiffres, et le code de vérification doit fixer une limite de temps.

  • Veuillez essayer d'éviter la régularité et la brièveté des coupons et des numéros de carte VIP, et les coupons doivent de préférence être une combinaison de chiffres et de lettres.

Les paramètres des cookies sont erronés

  • L'efficacité des cookies est trop simple. Certains sites Web sont trop uniques ou trop simples pour la génération de cookies, ce qui permet aux pirates informatiques d'énumérer les valeurs de validation des cookies.

  • Les cookies risquent d'être volés, c'est-à-dire que les utilisateurs peuvent toujours passer la vérification en utilisant d'anciens cookies après avoir réinitialisé leurs mots de passe.

  • Le cryptage des données des cookies de l'utilisateur doit strictement utiliser des algorithmes de cryptage standard et prêter attention à la gestion des clés. Les algorithmes simples tels que base64 ne peuvent pas être utilisés

  • Remplacement : remplacement parallèle : le type d'autorisation reste inchangé, l'ID d'autorisation change ; remplacement vertical : l'ID d'autorisation reste inchangé, le type d'autorisation change ; remplacement croisé : la modification de l'ID modifie également les autorisations

Idées de prévention

  1. Plusieurs vérifications sont définies dans les cookies. Par exemple, dans le cookie de Ziru APP, deux paramètres, sign et ssid, doivent être mis en correspondance avant que les données puissent être renvoyées.

  2. Le cryptage des données des cookies de l'utilisateur doit strictement utiliser des algorithmes de cryptage standard et prêter attention à la gestion des clés.

  3. Il est préférable d'introduire le mot de passe de l'utilisateur lors de la génération du cookie de l'utilisateur. Une fois le mot de passe modifié, la valeur du cookie changera également.

  4. Définissez les paramètres de session dans le cookie pour empêcher le cookie de prendre effet pendant une longue période.

  5. Il existe de nombreuses méthodes selon les métiers

Défauts dans la fonction de récupération de mot de passe

  1. Lisez simplement la valeur de la mémoire en tant qu'informations d'identification de l'utilisateur

  2. Vulnérabilités liées à l'ajout de voitures et au passage de commandes dans le système de commerce électronique

Quels outils de pénétration utilisez-vous couramment et lequel est le plus couramment utilisé ?

Numérisation : Nessus, AWVS, Nikto

Carte SQL

Paramètres communs

 -u URL unique -m xx.txt URL multiples -d "mysql://user:[email protected]:3306/dvwa" En tant que client serveur, connectez-vous directement à la base de données - data post/get s'applique à - Spécification p Paramètres d'analyse -r lire le fichier -f informations sur les empreintes digitales --script d'obfuscation de falsification, utilisé pour le filtrage de la couche d'application --cookie --user-agent --host et autres modifications de l'en-tête http --threads threads simultanés par défaut à 1 -- dbms MySQL<5.0> Spécifiez la base de données ou la version –level=LEVEL Le niveau de test (1-5, la valeur par défaut est 1) –risk=RISK Le risque de test (0-3, la valeur par défaut est 1) Un risque accru peut entraîner des données être Risques tels que la falsification – base de données actuelle / Obtenir le nom de la base de données actuelle – dbs Énumérer la base de données du système de gestion de base de données – tables Énumérer les tables dans la base de données du SGBD – colonnes Énumérer les colonnes de la table de la base de données du SGBD - D Nom de la base de données DB à énumérer - T TBL Table de la base de données à énumérer -C COL Colonne de base de données à énumérer -U USER Utilisateur de la base de données à énumérer  

Bourreur couramment utilisé

Local : sqlmap-tamper classification.xlsx

 base64encode.py #convertir en encodage b64 charencode.py encodage d'url chardoubleencode.py encodage d'URL double unmagicquotes.py octet large randomcomments.py utiliser /**/ pour diviser les mots-clés SQL space2plus.py space2comment.py space2xxxx.py remplacer les espaces par xx

Nmap

 nmap nom d'hôte/ip ou plusieurs ips ou sous-réseau 192.168.123.* -iL ip.txt Analyser toutes les ips dans ip.txt -A inclut -sV, -O, détecte les informations du système d'exploitation et le traçage de l'itinéraire. Généralement non utilisé, il s'agit d'un scan intense -O pour détecter les informations du système d'exploitation -sV pour trouver le numéro de version du service hôte -sA pour détecter si l'hôte utilise un filtre de paquets ou *** -sS scan semi-ouvert, généralement non enregistré dans le journal, mais root a besoin d'autorisations. -sT TCP connect() scan, cette méthode enregistrera un grand nombre de demandes de connexion et de messages d'erreur dans le journal de l'hôte cible. -sP ping scan, l'ajout de ce paramètre utilisera le ping scan. Uniquement lorsque l'hôte est vivant, nmap continuera à scanner. Il est généralement préférable de ne pas l'ajouter, car certains hôtes interdisent le ping, mais il existe réellement. -sN TCP scan vide -F scan rapide -Pn n'utilise pas de ping avant le scan.Il convient à *** pour désactiver le ping, ce qui est plus utile. -p spécifier le port/la plage de ports -oN écrire le rapport dans un fichier -v verbeux -T<0-5> définir la vitesse

Nmap peut également utiliser certains scripts comme le dynamitage

 --script all Utiliser tous les scripts --script=sql.injection.nse injection SQL --script="smb*" Analyser la série smb

Métasploit

Utilisez des modules intégrés. RH : Quels sont les modules couramment utilisés ? lien retour TCP msfvenom

Hydre

Outils de dynamitage de mots de passe, FTP, MSSQL, MYSQL, POP3, SSH, rdp,

   hydra IP -l nom de connexion -P pass.txt PROTROCL hydra 127.0.0.1 -l root -P pass.txt ssh

outil de collecte d'informations Kali

  • creuser

  • qui est

  • hôte : interroger le serveur DNS

  • nslookup

  • Énumération du nom de domaine : fierse -dns

  • Maltego

  • un soixante et un

 Ensemble complet de questions d'entretien sur la cybersécurité

 

 

 parcours d'apprentissage

Pour les étudiants qui n’ont jamais été exposés à la sécurité des réseaux, nous avons préparé pour vous une feuille de route détaillée d’apprentissage et de croissance. On peut dire que c'est la voie d'apprentissage la plus scientifique et la plus systématique et ce ne sera pas un problème pour tout le monde de suivre cette direction générale. (Si nécessaire, vous pouvez laisser un message dans la zone commentaire~)

Parallèlement, des vidéos d'accompagnement sont proposées pour chaque volet correspondant au parcours de croissance :

Je suppose que tu aimes

Origine blog.csdn.net/hdwlwang/article/details/130367972
conseillé
Classement