Kiprey / Kiprey.github.io

This is Kiprey‘s Blog.
https://kiprey.github.io/
4 stars 3 forks source link

CTF Docker 小记 | Kiprey's Blog #108

Open Kiprey opened 1 year ago

Kiprey commented 1 year ago

https://kiprey.github.io/2023/01/docker/

Arashimu commented 1 year ago

能问一下,如果我要复现一个CTF题目,建立好镜像后,要怎么样才可以通过remote连接容器并自动执行命令,是通过端口映射吗

Kiprey commented 1 year ago

@Arashimu 能问一下,如果我要复现一个CTF题目,建立好镜像后,要怎么样才可以通过remote连接容器并自动执行命令,是通过端口映射吗

这取决于 docker 内部是先启动一个 xinetd 守护进程来转发数据,还是直接启动目标程序。

对于我个人而言,我更喜欢直接将整个 exp 环境通过 vscode 迁移至 docker 内部进行开发,方便快捷不容易出错。

Arashimu commented 1 year ago

@Kiprey

@Arashimu 能问一下,如果我要复现一个CTF题目,建立好镜像后,要怎么样才可以通过remote连接容器并自动执行命令,是通过端口映射吗

这取决于 docker 内部是先启动一个 xinetd 守护进程来转发数据,还是直接启动目标程序。

  • 若 docker 先启动守护进程,则需要将守护进程转发的那个监听端口映射至宿主机上
  • 若 docker 是直接启动目标程序,这个我没太试过不是很了解,或许可以直接让 pwntools 的 process 来执行 docker start ?

对于我个人而言,我更喜欢直接将整个 exp 环境通过 vscode 迁移至 docker 内部进行开发,方便快捷不容易出错。

谢谢,我试一下,但我尝试了socat来建立一个tcp监听然后执行docker exec命令直接启动程序,好像也可以