Docker Cheat Sheet

Pasted image 20230215163522.png


docker --version
# Para ver la información de la instalación de docker.
docker info
# Información de la instalación de docker.
docker run {image_name}
# Crea y ejecuta un contenedor.
docker ps 
# Listar los contenedores desplegados corriendo en el sistema.
docker ps -a 
# Listar TODOS los contenedores, corriento, parados, matados, etc.
docker inspect {container_ID}
# Esto es para ver la configuración de el contenedor.
docker run --name {whatever} {image_name}
# Crar, ejecutar un contenedor a raiz de una imagen asignandole al contenedor un nombre 
docker rename {prev_name} {new_name}
# Renombrar un contenedor.
docker rm {container_ID/container_name}
# Eliminar un contenedor
docker rm -f $(docker ps -a)ación 

​Para explotar una vulnerabilidad IDOR, un atacante puede intentar modificar manualmente el identificador de un objeto en la URL o utilizar una herramienta automatizada para probar diferentes valores. Si el atacante encuentra un identificador que le permite acceder a un recurso que no debería estar disponible, entonces la vulnerabilidad IDOR se ha explotado con éxito. 

​Por ejemplo, supongamos que un usuario 'A' tiene un pedido con el identificador numérico 123 y el usuario 'B' tiene un pedido con el identificador numérico 124. Si el atacante intenta acceder a través de la URL "http://example.com/orders/124", la aplicación web podría permitir el acceso a este pedido sin validar si el usuario tiene permiso para acceder a él. De esta manera, el atacante podría acceder al pedido del usuario 'B' sin la debida autorización. 

De manera que con el simple hecho de pr
# Eliminar de manera forzadas todos los contenedores corriendo o no del sistema.
docker exec 
# Ejecutar comando o proceso en un container.
docker run -p {us_port}:{docker_port} -d {image_name}
# Crear y ejecutar un contenedor enlazando un puerto de nuestra maquina con un puerto del contenedor (-p 80:80) a la vez que corriendolo en segundo plano (-d = detach)
docker logs {container_name/container_id}
# Ver logs de un container
docker logs --tail 10 -f {container_name/container_id}
# Ver en tiempo real (-f = follow) las ultimas 10 lineas de los logs (--tail 10)
docker run -it -v /{os_path}:/{docker_path} {image_name}
# Crear y ejecutar un contenedor de manera interactiva con una terminal (-it) montando la ruta "os_path" en la ruta "docker_path" (-v /example.txt:/exampleDir)
docker volume ls 
# Listar volumenes
docker volume create {volume_name}
# Crear volumen
docker network ls
# Crear una imagen a partir de un dockerfile
docker build -t {image_name} {path_dockerfile}
# Listar conexiones de las redes
docker network create {name}
# Crear una red
docker network create --atachable {name}
# Crear una red a la que otros contenedores se puedan conectar.
docker network inspect {name}
# Inspeccionar una red.
docker network connect {network} {container}
# Conectar un container a una red
docker image ls 
# Listar iamgenes
docker pull {image_name}
# Traer una imagen del repo de docker hub.
docker images --fillter "dangling=true" -q
# Sacar los id's de las imagenes <none> 

Dockerfile

 FROM ubuntu:latest 
 # Version de la imagen
 MAINTAINER Owen Bonoris aka Dobliuw "dobliuw@dobliuw.com"
 
 ENV DEBIAN_FRONTEND noninteractive
 # Para que no entre en modo interactivo
 RUN apt update && apt install -y net-tools \ 
   iputils-ping \ 
   curl \ 
   git \ 
   nano \ 
   apache2 \ 
   php
 # Comandos que quiero ejecutar a la hora de crear la imagen 
 EXPOSE 80 
 # Exponer el puerto 80 del contenedor
 ENTRYPOINT service apache2 start && /bin/bash 
 # Cuando se inicie que levante el demon de apache2 y el /bin/bash para evitar errores