Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Extraction des En-Têtes de Sécurité du Site Web | Cybersécurité Web
Fondamentaux de la Cybersécurité

book
Défi : Extraction des En-Têtes de Sécurité du Site Web

Tâche

Swipe to start coding

Cette tâche a pour but de créer une fonction qui extrait des en-têtes de sécurité spécifiques à partir d'un site web donné. En analysant les en-têtes extraits, vous pouvez évaluer la posture de sécurité de l'application web. Cela comprend la compréhension de la manière dont l'application est configurée pour gérer les aspects liés à la sécurité.
Votre tâche consiste à :

  1. Obtenir une réponse du site web concerné en utilisant la fonction .get() de la bibliothèque requests.
  2. Extraire tous les en-têtes de la réponse en utilisant l'attribut .headers de l'objet response.
  3. Retourner des informations sur les en-têtes correspondants depuis la fonction en utilisant les noms de variables (csp_header et hsts_header).

Note

L'objectif de cette mission est de vous familiariser avec le processus d'extraction des en-têtes. L'analyse du contenu des en-têtes est hors du cadre de ce cours.

Solution

import requests

def get_security_headers(url):
try:
# Send an HTTP GET request to the URL
response = requests.get(url)

# Get the headers from the response
headers = response.headers

# Extract Content-Security-Policy (CSP) header
csp_header = headers.get('Content-Security-Policy', 'CSP header not found')

# Extract Strict-Transport-Security (HSTS) header
hsts_header = headers.get('Strict-Transport-Security', 'HSTS header not found')

return {
'CSP': csp_header, 'HSTS': hsts_header
}

except requests.exceptions.RequestException as e:
return f'Error: {e}'

# Example usage:
url_to_check = 'https://www.kaggle.com'
security_headers = get_security_headers(url_to_check)

# Print the extracted headers
print(f'CSP Header: {security_headers["CSP"]}')
print(f'HSTS Header: {security_headers["HSTS"]}')

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 8
import requests

def get_security_headers(url):
try:
# Send an HTTP GET request to the URL
response = requests.___(url)

# Get the headers from the response
headers = response.___

# Extract Content-Security-Policy (CSP) header
csp_header = headers.get('Content-Security-Policy', 'CSP header not found')

# Extract Strict-Transport-Security (HSTS) header
hsts_header = headers.get('Strict-Transport-Security', 'HSTS header not found')

return {
'CSP': ___, 'HSTS': ___
}

except requests.exceptions.RequestException as e:
return f'Error: {e}'

# Example usage:
url_to_check = 'https://www.kaggle.com'
security_headers = get_security_headers(url_to_check)

# Print the extracted headers
print(f'CSP Header: {security_headers["CSP"]}')
print(f'HSTS Header: {security_headers["HSTS"]}')
toggle bottom row
some-alt