网站菜单模板,企业解决方案架构师,广州网站建设小程序,做网站点击率赚钱文章目录 远程调试docker pull失败docker上容器运行程序失败宿主机远程调试docker中运行的程序环境准备调试步骤 本地调试bugpwngdbtmuxTmux复制粘贴到其他地方pwngdb和tmux优化~~感觉用了大佬的镜像后宿主机来做pwn题都不香了~~ 远程调试
但目前不知道如何实现可以边跟着脚本… 文章目录 远程调试docker pull失败docker上容器运行程序失败宿主机远程调试docker中运行的程序环境准备调试步骤 本地调试bugpwngdbtmuxTmux复制粘贴到其他地方pwngdb和tmux优化~~感觉用了大佬的镜像后宿主机来做pwn题都不香了~~ 远程调试
但目前不知道如何实现可以边跟着脚本运行调试的方法
docker pull失败
https://wiki.bafangwy.com/doc/413/
docker上容器运行程序失败
https://blog.csdn.net/qq_46106285/article/details/124946919
宿主机远程调试docker中运行的程序
https://www.roderickchan.cn/zh-cn/2023-02-13-%E4%BD%BF%E7%94%A8docker%E8%B0%83%E8%AF%95pwn%E9%A2%98/#0x3-%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7
环境准备 容器中的准备 安装gdbserver首先在Docker镜像中需要安装gdbserver。这通常通过在Dockerfile中添加相应的安装命令如RUN apt-get update apt-get install -y gdbserver对于基于Debian的镜像来完成。 宿主机上的准备 安装GDB确保你的宿主机上安装了GDB这是调试器的客户端部分将用来远程操控容器中运行的程序。可执行文件或符号文件宿主机上需要有与容器中待调试程序对应的可执行文件或调试符号文件。这是因为GDB在宿主机上运行时需要这些信息来解析和展示调试信息。
调试步骤
启动容器并映射端口 选择roderick师傅的容器直接调试了 https://hub.docker.com/r/roderickchan/debug_pwn_env/tags
docker run -it --rm -v host_path:container_path -p host_port:container_port --cap-addSYS_PTRACE IMAGE_ID /bin/bash在容器中启动gdbserver进入容器后使用gdbserver附加到你想调试的程序并指定监听的端口。例如如果你的程序名为my_program命令如下 gdbserver localhost:12345 my_program这会让gdbserver在容器中启动你的程序并监听2345端口等待来自GDB的连接。 在宿主机上使用GDB连接打开宿主机上的终端使用GDB连接到容器中的gdbserver。你需要指定宿主机上的可执行文件路径即使实际运行在容器中和目标远程地址及端口 gdb -ex target remote 127.0.0.1:12345 /path/to/your_program/path/to/your_program应当是宿主机上与容器中相同的程序副本或符号文件确保GDB能够识别并加载正确的调试信息。 开始调试一旦连接成功你就可以在宿主机的GDB中设置断点、单步执行、查看变量等就像直接在本地调试程序一样。
本地调试
启动容器并映射端口 选择roderick师傅的容器直接调试了 https://hub.docker.com/r/roderickchan/debug_pwn_env/tags
docker run -it --rm -v host_path:container_path -p host_port:container_port --cap-addSYS_PTRACE --privileged IMAGE_ID /bin/bash数据卷挂载-v host_path:container_path使得在宿主机上对文件修改在docker也生效然后在docker中调试运行在宿主机修改这个文件夹或者文件
bug
Could not find a terminal binary to use. Set context.terminal to your terminal 然后在容器中执行./exp.py就行了
pwngdbtmux
# 绑定Ctrla为新的指令前缀
set -g prefix C-a# 从tmux v1.6版起支持设置第二个指令前缀, 设置一个不常用的键作为指令前缀按键更快
set-option -g prefix2 # 修改分屏快捷键
unbind
bind - splitw -v -c #{pane_current_path} # 垂直方向新增面板默认进入当前目录
unbind %
bind | splitw -h -c #{pane_current_path} # 水平方向新增面板默认进入当前目录# 设置面板大小调整快捷键
bind j resize-pane -D 5
bind k resize-pane -U 5
bind h resize-pane -L 5
bind l resize-pane -R 5# 刷新配置文件
bind R run-shell tmux source-file ~/.tmux.conf# 上一个窗口
bind a last-window
https://louiszhai.github.io/2017/09/30/tmux/
先按下Ctrla并松开再按下?就会显示帮助信息。然后按下 ESC 键或q键就可以退出帮助Ctrla 光标切换到其他窗格Ctrla hjkl调整当前所在窗格大小Ctrla a:切换到上一个窗口Ctrla | 水平方向增加窗格Ctrla - 垂直方向增加窗格赋值直接鼠标选择内容就行粘贴Ctrla ]
Tmux复制粘贴到其他地方
https://cn.linux-console.net/?p15192
pwngdb和tmux优化
https://bbs.kanxue.com/thread-276203.htm
感觉用了大佬的镜像后宿主机来做pwn题都不香了