Week 10 (Traces sur le réseau) Flashcards
Que veut dire HTTP ?
Hyper Text Transfer Protocole
Qui a développé le World Wide Web protocole ?
Tim Berners-Lee au CERN
Que sont les traces laissées par l’utilisation d’un réseau et où sont elles ?
- Les logs files qui se trouvent sur les serveurs des ISP
- Les fichiers de navigateurs (cookies, cache, historique, mots de passe, …) chez l’utilisateur
A quoi ressemble le Client Serveur Architecture ?
Un navigateur envoie une requête URL vers le serveur qui va chercher les fichiers et resources puis les renvoie en réponse sous forme d’un fichier HTML au navigateur
Dans quelle couche de protocole se trouve le HTTP?
dans la couche application
Quelle connection est-ce que le HTTP utilise et sur quelle port se connecte-il ?
Il utilise une connection TCP sur le port 80 (n’est pas assez sécurisé et donc presque plus utilisé) mais maintenant plutôt le port 443
Que sont les requêtes que peut demander le navigateur ?
- Une page (en donnant son URL)
- une image ou un un fichier quelconque
- des données entrées dans un formulaire
Contient aussi des informations sur le navigateur
Que sont les réponses que peut recevoir le navigateur ?
- le fichier retourné (html, gif, jpg, js, css…)
- Une redirection vers une autre ressource ou un cache encore valide
Contient des inofs sur le serveur, le document
A quoi ressemble les entêtes des rêquetes ?
METHODE URI PROTOCOL
HEADER1: VALUE
HEADER2: VALUE
etc
BODY OF THE MESSAGE
Ex: GET /index.html HTTP/1.1
host: localhost
Est-ce que le body de la requête contient toujours quelquechose ?
Non, souvent elle est vide
Que sont les entêtes de la requête qui informe sur la description du client ? Quelles infos contiennent-elles ?
- User-Agent: le navigateur et le système d’exploitation
- Accept: quels types de documents sont acceptés
- Accept-Language: Quelles langages sont acceptés ( avec préférences)
- ect
Que sont les entêtes de la requête qui informe sur la description de la requête ? Quelles infos contiennent-elles ?
- Host: Quelle est le nom du serveur (un serveur peut avoir plusieurs noms)
- Referer: Quelle page contenait la référence qui nous a fait générer cette requête?
Que sont deux types de formulaires vu en cours pour les requêtes ?
- La méthode GET
- La métode POST
Que sont les caractéristiques de la méthode GET ?
- Elle est la méthode pour lire une page
- Elle est généré lorsque l’on tape l’URL directement
- Généré lorsque l’on clique sur un lien
- Utilisé pour enovyer un peu d’informations
- Une telle requête ne doit pas obligatoirement atteindre le serveur
- Le résultat peut venir d’un cache
Que sont les caractéristiques de la méthode POST
?
- Elle est la méthode pour envoyer de l’information vers le serveur
- Elle peut contenir des informations larges
- Elle doit arriver jusqu’au serveur
- Elle ne peut pas venir d’un cache
Comment est caractérisé le body de la requête GET ?
Elle en pas
Ou sont les valeurs dans une méthode GET ?
Dans l’URL (URLEncoded)
Encodage URL
Que veut dire + en encodage URL ?
Espace
Encodage URL
Que veut dire %xx en encodage URL ?
Hex(xx)
Que génère un lien dans une page ?
une requête GET
Que contient la réponse ?
- Un Statut
- L’information demandée qui est contenu dans le body
Que contient l’entête de la réponse ?
les meta-données de la réponse (date de production, validité, langage, etc)
Qu’est la syntaxe de l’entête de la réponse ?
STATUS-LINE
HEADER1:
HEADER2:
HEADER3:
….
BODY OF THE DOCUMENT
Qu’est le format de la status line de la réponse ?
HTTP-Version SP Status-Code SP Reason-Phrase CRLF
Qu’est un Status Code ?
C’est un entier en 3 chiffres. Il indique comment le serveur a satisfait aux demandes de la requête
Qu’est la reason-phrase ?
C’est la phrase qui est destiné à l’humain pour faire du debugging
Que sont les catégories de status codes ?
- 1xx: code Information. La requête a été reçue, le processus continue
- 2xx: code Succès: l’action a été reçue et traitée avec succès, le contenu attendu est envoyé
- 3xx: code Redirection. Une autre action est attendue pour pouvoir complêter la requête
- 4xx: code Erreur. La requête contient une erreur de syntaxe ou réfère une ressource qui n’existe pas
- 5xx: code Erreur Serveur. Le server n’arrive pas à répondre à une requête qui semble valide
Status Code
Que sont les possibles codes Information ?
-100: Continue
-101: Switching Protocols
Status Code
Que sont les possibles codes Succès ?
- 200: OK
- 201: Created
- 202: Accepted
- 203: Non-Authoritative Information
- 204: No content
- 205: Reset content
- 206: Partial Content
Que sont les possibles codes Redirection ?
- 300: Mltiple Choices
- 301: Moved permanently
- 302: Found
- 303: See other
- 304: Not Modified
- 305: Use proxy
- 307: Temporary Redirect
Que sont les possibles codes Erreur ?
- 400: Bad Request
- 401: Unauthorized
- 402: Payment Required
- 403: Forbidden
- 404: Not Found
- 405: Method Not Allowed
- 406: Not Acceptable
- 407: Proxy Authentification Required
- 408: Request Time-Out
- 409: Conflict
- 410: Gone
- 411: Length Required
- 412: Precondition Failed
- 413: Request Entity Too Large
- 414: Request-URI Too Large
- 415: Unsupported Media Type
- 416: Requested range not satisfiable
- 417: Expectation Failed
Que sont les possibles codes serveur Erreur ?
- 500: Internal Server Error
- 501: Not implemented
- 502: Bad Gateway
- 503: Service Unavailable
- 504: Gateway Time-Out
- 505: HTTP Version not supported
Que sont des réponses intéressantes à des fins forensiques ? Et Pourquoi ?
Les erreurs car les attaquent génèrent beacoup plus d’erreurs en moyenne.
Puisque les attaquants cherchent a comprendre comment le système fonctionne et donc testent des choses au hasard. Ils cherchent a faire beuger le système exprès
Que sont des cookies ?
Ce sont des petites informations qui sont enovoyées une fois par le serveur au client qui sont ensuite ajoutée à chaque requête par le client vers le serveur
Qu’est l’usage des cookies ?
Pour stocker de l’information sur l’utilisateur
A quoi servent les fichiers de log ?
- Pour faire des statistiques sur le nombre de clients, les resources auquelles ils accèdent, combien de temps ils ont passé sur le site, etc
- Utiliser pour faire des recherches
Que sont des infos dans les fichiers de logs ?
- la date et l’heure
- l’adresse IP
- les ressources (avec paramètres GET)
- user agent
- URL Referer
Qu’est la syntaxe des Log Files ?
IP-address–Date “Query string” status-code size-of-response “URL-referer” “User Agent”
Que sont les infos intéressantes contenu dans les Log files ?
- Query string
- Adress IP
- User Agent
- URL-Referer
Qu’est le query string dans les log files ?
C’est ce qui à été fait
Qu’est l’addresse IP dans les log files ?
Permet de trouver le Internet Service Provider
Qu’est le user agent dans les log files ?
Donne le système d’exploitation et le browser
Qu’est le URL-Referer dans les log files ?
D’où vient le lien (moteur de recherche, lien dans une page, CSRF, etc)
Comment peut-on utiliser un log file pour la science forensique ?
- Sélectionner les actions litigieuses (Utiliser grep pour trouver les lignes)
- Reconstruire les sessions (utiliser grep pour regrouper les adresses-IP)
- Analyser les actions (Une certaine connaissance de la busines-logic de l’application est utile)
- Ecrire son propre script d’analyse (Chercher les requêtes et/ou adresses IP “hors-normes”)
Que sont d’autres fichiers logs ?
- ISP Logs: Les ISP doivent stocker un mapping de l’heure, adresse IP
- DNS Logs: Si le nom de l’hôte est très spécifique, la session est stocké dans le nom de l’hôte.
Qu’est une attaque de Man in the Middle ?
Une entité se place au milieu de la communication avec un certificat auto-signé. Il fait croire qu’on le serveur légitime