整理记录用到的命令,以避免每次用到查一遍
环境
docker ps查看运行的容器
docker exec -it ? /bin/bash进入?id的容器终端
chmod +x <file> 增加可执行权限
tty vim ~/.gdbinit
set context-output /dev/pts/?
设置gdb输出位置
source /pip_venv/bin/activate进入python虚拟环境
tmux进入tmux终端
链接
很多时候需要和远程统一库函数,以及符合要求的ld
ldd pwn查看pwn文件的链接情况
patchelf --replace-needed libc.so.6 ./libc.so.6 pwn用当前文件夹下的libc.so.6替换pwn需要的链接库
patchelf --replace-needed ./libc.so.6 libc.so.6 pwn改回系统链接库
strings ./libc.so.6 | grep GNU 查找符合要求的ld版本信息,如果题目提供的话就不需要了
patchelf --set-interpreter ./ld-linux-x86-64.so.2 pwn 设置解释器为当前路径下的,恢复默认:patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 pwn
或者用glibc-all-in-one的话patchelf --set-interpreter /workspace/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/ld-2.27.so pwn
patchelf --set-rpath . pwn 设置链接库路径,逆过程:patchelf --remove-rpath pwn
gdb
开始调试程序:直接跟着待调试文件名,比如:gdb pwn
start寻找程序入口并中断
run运行程序到断点或结束,可加参数
next或简写n运行下一行代码,nexti或ni,运行下一行指令,汇编层面的一行,step或s,下一行代码,遇到函数时会步入,stepi或si运行下一行汇编级的指令,遇到函数会步入。程序的函数就si,遇到库函数就ni
info register或i r查看当前寄存器信息
i address xx查看函数地址
disass xxx反汇编某处的指令
break xxx在某处下断点,info break或i b查看当前所有断点信息。可以在指定函数处b printf或者地址b *0x40127D
vmmap查看内存分配情况
checksec查看程序保护机制,NX等
quit退出
x/s 0x?以字符串查看指定位置内容
x/20gx $rsp查看rsp以下20个8字节数据(16进制)
finish执行到退出当前函数
pwntools
context(arch=‘amd64’, os=‘linux’, log_level=‘debug’)
context.terminal=[‘tmux’,‘splitw’,‘-h’]
ASCII码表
控制字符 (0-31)
| 十进制 | 十六进制 | 字符 | 描述 |
|---|---|---|---|
| 0 | 00 | NUL | 空字符 |
| 1 | 01 | SOH | 标题开始 |
| 2 | 02 | STX | 正文开始 |
| 3 | 03 | ETX | 正文结束 |
| 4 | 04 | EOT | 传输结束 |
| 5 | 05 | ENQ | 询问 |
| 6 | 06 | ACK | 收到通知 |
| 7 | 07 | BEL | 铃 |
| 8 | 08 | BS | 退格 |
| 9 | 09 | HT | 水平制表符 |
| 10 | 0A | LF | 换行键 |
| 11 | 0B | VT | 垂直制表符 |
| 12 | 0C | FF | 换页键 |
| 13 | 0D | CR | 回车键 |
| 14 | 0E | SO | 移出 |
| 15 | 0F | SI | 移入 |
| 16 | 10 | DLE | 数据链路转义 |
| 17 | 11 | DC1 | 设备控制 1 |
| 18 | 12 | DC2 | 设备控制 2 |
| 19 | 13 | DC3 | 设备控制 3 |
| 20 | 14 | DC4 | 设备控制 4 |
| 21 | 15 | NAK | 拒绝接收 |
| 22 | 16 | SYN | 同步空闲 |
| 23 | 17 | ETB | 传输块结束 |
| 24 | 18 | CAN | 取消 |
| 25 | 19 | EM | 介质中断 |
| 26 | 1A | SUB | 替换 |
| 27 | 1B | ESC | 换码符 |
| 28 | 1C | FS | 文件分隔符 |
| 29 | 1D | GS | 组分隔符 |
| 30 | 1E | RS | 记录分离符 |
| 31 | 1F | US | 单元分隔符 |
可打印字符 (32-127)
| 十进制 | 十六进制 | 字符 | 描述 |
|---|---|---|---|
| 32 | 20 | (空格) | 空格 |
| 33 | 21 | ! | 感叹号 |
| 34 | 22 | " | 双引号 |
| 35 | 23 | # | 井号 |
| 36 | 24 | $ | 美元符 |
| 37 | 25 | % | 百分号 |
| 38 | 26 | & | 与 |
| 39 | 27 | ’ | 单引号 |
| 40 | 28 | ( | 左括号 |
| 41 | 29 | ) | 右括号 |
| 42 | 2A | * | 星号 |
| 43 | 2B | + | 加号 |
| 44 | 2C | , | 逗号 |
| 45 | 2D | - | 连字号或减号 |
| 46 | 2E | . | 句点或小数点 |
| 47 | 2F | / | 斜杠 |
| 48 | 30 | 0 | 0 |
| 49 | 31 | 1 | 1 |
| 50 | 32 | 2 | 2 |
| 51 | 33 | 3 | 3 |
| 52 | 34 | 4 | 4 |
| 53 | 35 | 5 | 5 |
| 54 | 36 | 6 | 6 |
| 55 | 37 | 7 | 7 |
| 56 | 38 | 8 | 8 |
| 57 | 39 | 9 | 9 |
| 58 | 3A | : | 冒号 |
| 59 | 3B | ; | 分号 |
| 60 | 3C | < | 小于 |
| 61 | 3D | = | 等号 |
| 62 | 3E | > | 大于 |
| 63 | 3F | ? | 问号 |
| 64 | 40 | @ | 电子邮件符号 |
| 65 | 41 | A | 大写字母 A |
| 66 | 42 | B | 大写字母 B |
| 67 | 43 | C | 大写字母 C |
| 68 | 44 | D | 大写字母 D |
| 69 | 45 | E | 大写字母 E |
| 70 | 46 | F | 大写字母 F |
| 71 | 47 | G | 大写字母 G |
| 72 | 48 | H | 大写字母 H |
| 73 | 49 | I | 大写字母 I |
| 74 | 4A | J | 大写字母 J |
| 75 | 4B | K | 大写字母 K |
| 76 | 4C | L | 大写字母 L |
| 77 | 4D | M | 大写字母 M |
| 78 | 4E | N | 大写字母 N |
| 79 | 4F | O | 大写字母 O |
| 80 | 50 | P | 大写字母 P |
| 81 | 51 | Q | 大写字母 Q |
| 82 | 52 | R | 大写字母 R |
| 83 | 53 | S | 大写字母 S |
| 84 | 54 | T | 大写字母 T |
| 85 | 55 | U | 大写字母 U |
| 86 | 56 | V | 大写字母 V |
| 87 | 57 | W | 大写字母 W |
| 88 | 58 | X | 大写字母 X |
| 89 | 59 | Y | 大写字母 Y |
| 90 | 5A | Z | 大写字母 Z |
| 91 | 5B | [ | 左中括号 |
| 92 | 5C | \ | 反斜杠 |
| 93 | 5D | ] | 右中括号 |
| 94 | 5E | ^ | 音调符号 |
| 95 | 5F | _ | 下划线 |
| 96 | 60 | ` | 重音符 |
| 97 | 61 | a | 小写字母 a |
| 98 | 62 | b | 小写字母 b |
| 99 | 63 | c | 小写字母 c |
| 100 | 64 | d | 小写字母 d |
| 101 | 65 | e | 小写字母 e |
| 102 | 66 | f | 小写字母 f |
| 103 | 67 | g | 小写字母 g |
| 104 | 68 | h | 小写字母 h |
| 105 | 69 | i | 小写字母 i |
| 106 | 6A | j | 小写字母 j |
| 107 | 6B | k | 小写字母 k |
| 108 | 6C | l | 小写字母 l |
| 109 | 6D | m | 小写字母 m |
| 110 | 6E | n | 小写字母 n |
| 111 | 6F | o | 小写字母 o |
| 112 | 70 | p | 小写字母 p |
| 113 | 71 | q | 小写字母 q |
| 114 | 72 | r | 小写字母 r |
| 115 | 73 | s | 小写字母 s |
| 116 | 74 | t | 小写字母 t |
| 117 | 75 | u | 小写字母 u |
| 118 | 76 | v | 小写字母 v |
| 119 | 77 | w | 小写字母 w |
| 120 | 78 | x | 小写字母 x |
| 121 | 79 | y | 小写字母 y |
| 122 | 7A | z | 小写字母 z |
| 123 | 7B | { | 左大括号 |
| 124 | 7C | I | 垂直线 |
| 125 | 7D | } | 右大括号 |
| 126 | 7E | ~ | 波浪号 |
| 127 | 7F | DEL | 删除 |