Notas del curso Python avanzado para proyectos de seguridad del Clúster Tic de Galicia.
Ampliar los conocimientos sobre Python, librerías y módulos que disponemos para realizar tareas relacionadas con peticiones, obtención de información, conexión con servidores o testeo de la seguridad de un sitio web.
1. Trabajando con sockets en Python
2. Aplicaciones cliente-servidor con sockets en Python
3. Módulos para realizar peticiones con Python
4. Recolección de información de servidores con Python
5. Extracción de metadatos con Python
6. Web Scraping con Python
7. Webscraping avanzado con Scrapy
8. Escaneo de puertos y redes con Python
9. Conexiones con servidores FTP, SFTP, SSH desde Python
10. Análisis de vulnerabilidades en aplicaciones web con Python
¿Qué es un socket en el contexto de la programación de redes en Python?
¿Qué módulo de Python es utilizado para automatizar la creación de un servidor HTTP?
El método socket.accept() permite aceptar conexiones de un cliente en un servidor.
El método socket.recv() se utiliza para recibir datos de un cliente en un servidor Python.
¿Qué método se utiliza en Python para implementar un escáner de puertos?
La familia de sockets AF_INET se utiliza para las direcciones IPv6.
¿Qué hace el método sendall() en un socket de Python?
El código de estado HTTP 200 indica que la petición fue exitosa.
¿Cuál es el principal objetivo del módulo requests en Python?
Scrapy permite exportar datos extraídos de un sitio web en formatos JSON, CSV y XML.
Los sockets en Python permiten la comunicación entre procesos en la misma máquina o en máquinas diferentes.
¿Qué método de socket convierte un nombre de host en una dirección IPv4?
gethostbyaddr().gethostbyname(). (Correcto)getfqdn().getservbyport().¿Qué protocolo es utilizado por los sockets de flujo en Python?
¿Qué método en Python se utiliza para resolver un nombre de dominio a partir de una dirección IP?
gethostbyname().getfqdn().gethostbyaddr(). (Correcto)connect_ex().
El método socket.getservbyport() permite obtener el nombre de un puerto a partir de su número.
¿Qué hace la función socket.send() en un servidor HTTP implementado en Python?
¿Qué tipo de socket se utiliza para trabajar con UDP en Python?
¿Qué método se utiliza para escuchar conexiones entrantes en un servidor en Python?
bind().listen(). (Correcto)recv().accept().¿Qué función de socket permite la búsqueda inversa de una dirección IP?
gethostbyname().gethostbyaddr(). (Correcto)getfqdn().connect_ex().¿Qué protocolo utiliza el socket AF_INET en Python?
¿Qué método del módulo socket se utiliza para recibir datos desde un cliente?
send().connect().recv(). (Correcto)accept().El método bind() en el servidor permite asociar una dirección IP y un puerto con un socket.
¿Qué método del módulo socket en Python permite conectar un cliente a un servidor?
Identifica las funciones clave del módulo requests en Python. (Respuesta múltiple).
get(). (Correcto)post(). (Correcto)send().bind().¿Qué herramienta se describe como el «Google de los hackers» debido a su capacidad para rastrear servidores y dispositivos conectados a Internet?
¿Qué información puede proporcionar el servicio WHOIS?
La API de Shodan permite buscar información sobre servidores y dispositivos conectados a Internet utilizando filtros como el número de puerto.
¿Qué es el código 404 en una respuesta HTTP?
¿Qué módulo en Python se utiliza para realizar consultas WHOIS de dominios?
¿Qué función se utiliza para obtener los metadatos de un archivo PDF en Python?
pdfinfo().get_pdf_data().PdfFileReader(). (Correcto)fetch_pdf().El módulo ftplib en Python permite realizar conexiones cifradas con TLS a servidores FTP.
¿Qué método de la clase FTP en ftplib se utiliza para cambiar de directorio en un servidor FTP?
cwd() (Correcto)dir().nlst().quit().¿Cuáles son los métodos comunes utilizados para realizar peticiones HTTP con el módulo requests en Python? (Respuesta múltiple).
get(). (Correcto)post(). (Correcto)send().put(). (Correcto)Qué tipo de ataque se aprovecha de la falta de validación en la entrada de datos del usuario en una aplicación web?
¿Qué técnica de scraping se basa en obtener la información estructurada de un sitio web HTML y procesarla?
Nmap se utiliza exclusivamente para el escaneo de puertos en redes locales.
¿Qué componente de Scrapy es responsable de realizar las peticiones HTTP y aplicar reglas de extracción de datos?
¿Cuál es el propósito del módulo Paramiko en Python?
¿Qué método de ftplib permite descargar archivos desde un servidor FTP en Python?
upload().retrbinary(). (Correcto)put().fetch().¿Qué función de lxml se utiliza para obtener los enlaces de una página web mediante XPath?
parse().fetch().xpath(). (Correcto)html().¿Qué función se utiliza para crear un socket en Python?
socket.bind().socket.socket(). (Correcto)socket.recv().socket.send().¿Qué puerto utiliza comúnmente el protocolo HTTP?
El método requests.get() se utiliza para enviar una petición HTTP GET a un servidor web.
De los siguientes, ¿cuáles son códigos de estado en HTTP? (Respuesta múltiple).
¿Qué método del módulo urllib.request se utiliza para abrir una URL en Python?
get().post().urlopen(). (Correcto)fetch().¿Qué módulo de Python permite la extracción de información geográfica a partir de una dirección IP?
¿Qué es el método recv() en la conexión de sockets en Python?
¿Qué función de lxml permite analizar un documento HTML usando expresiones XPath en Python?
find().XPath(). (Correcto)get().parse(). De las siguientes, identifica las vulnerabilidades comunes en aplicaciones web. (Respuesta múltiple)
El módulo requests en Python permite realizar peticiones HTTP y manejar respuestas JSON.