mirror of
https://github.com/nganhkhoa/CTF-All-In-One.git
synced 2024-12-24 19:21:15 +07:00
update gdb
This commit is contained in:
parent
2a2a141599
commit
d0177b79a3
@ -8,7 +8,7 @@
|
||||
- [Misc](#misc)
|
||||
- [Mobile](#mobile)
|
||||
- [高质量的比赛](#高质量的比赛)
|
||||
- [搭建一个 CTF 比赛平台](#搭建一个-ctf-比赛平台)
|
||||
- [搭建 CTF 比赛平台](#搭建-ctf-比赛平台)
|
||||
|
||||
|
||||
## 概述
|
||||
@ -35,7 +35,7 @@ CTF 为团队赛,通常以三人为限,要想在比赛中取得胜利,就
|
||||
详见:[ctftime.org](http://www.ctftime.org)
|
||||
|
||||
|
||||
## 搭建一个 CTF 比赛平台
|
||||
## 搭建 CTF 比赛平台
|
||||
- [FBCTF](https://github.com/facebook/fbctf) - The Facebook CTF is a platform to host Jeopardy and “King of the Hill” style Capture the Flag competitions.
|
||||
- [CTFd](https://github.com/CTFd/CTFd) - CTFd is a Capture The Flag in a can. It's easy to customize with plugins and themes and has everything you need to run a jeopardy style CTF.
|
||||
- [SecGen](https://github.com/cliffe/SecGen) - SecGen creates vulnerable virtual machines so students can learn security penetration testing techniques.
|
||||
|
@ -4,6 +4,7 @@
|
||||
- [gdb 基本工作原理](#gdb-基本工作原理)
|
||||
- [gdb 基本操作](#gdb-基本操作)
|
||||
- [gdb-peda](#gdb-peda)
|
||||
- [GEF/pwngdb](#gefpwngdb)
|
||||
|
||||
|
||||
## gdb 的组成架构
|
||||
@ -49,32 +50,38 @@ long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data);
|
||||
|
||||
## gdb-peda
|
||||
|
||||
### 安装
|
||||
|
||||
#### 安装
|
||||
```shell
|
||||
git clone https://github.com/longld/peda.git ~/peda
|
||||
echo "source ~/peda/peda.py" >> ~/.gdbinit
|
||||
echo "DONE! debug your program with gdb and enjoy"
|
||||
$ git clone https://github.com/longld/peda.git ~/peda
|
||||
$ echo "source ~/peda/peda.py" >> ~/.gdbinit
|
||||
$ echo "DONE! debug your program with gdb and enjoy"
|
||||
```
|
||||
### peda命令
|
||||
|
||||
* `aslr` - 显示、设置gdb的ASLR
|
||||
* `checksec` - 检查二进制文件的安全选项
|
||||
* `dumpargs` - 在调用指令停止时显示传递给函数的参数
|
||||
* `dumprop` - 在特定的内存范围显示ROP gadgets
|
||||
* `elfheader` - 获取正在调试的ELF文件的头信息
|
||||
* `elfsymbol` - 从ELF文件中获取没有调试信息的符号信息
|
||||
* `lookup` - 搜索属于内存范围的地址的所有地址/引用
|
||||
* `patch` - 使用字符串/十六进制字符串/整形数
|
||||
* `pattern` -
|
||||
* `procinfo` -
|
||||
* `pshow` -
|
||||
* `pset` -
|
||||
* `readelf` -
|
||||
* `ropgadget` -
|
||||
* `ropsearch` -
|
||||
* `searchmem|find` -
|
||||
* `shellcode` -
|
||||
* `skeleton` -
|
||||
* `vmmap` -
|
||||
* `xormem` -
|
||||
#### peda命令
|
||||
- `aslr` - 显示/设置 gdb 的 ASLR
|
||||
- `checksec` - 检查二进制文件的安全选项
|
||||
- `dumpargs` - 在调用指令停止时显示传递给函数的参数
|
||||
- `dumprop` - 在特定的内存范围显示 ROP gadgets
|
||||
- `elfheader` - 获取正在调试的 ELF 文件的头信息
|
||||
- `elfsymbol` - 从 ELF 文件中获取没有调试信息的符号信息
|
||||
- `lookup` - 搜索属于内存范围的地址的所有地址/引用
|
||||
- `patch` - 使用字符串/十六进制字符串/整形数
|
||||
- `pattern` - 生成,搜索或写入循环 pattern 到内存
|
||||
- `procinfo` - 显示调试进程的 /proc/pid/
|
||||
- `pshow` - 显示各种 PEDA 选项和其他设置
|
||||
- `pset` - 设置各种PEDA选项和其他设置
|
||||
- `readelf` - 获取 ELF 的文件头信息
|
||||
- `ropgadget` - 获取二进制或库的常见 ROP gadgets
|
||||
- `ropsearch` - 搜索内存中的 ROP gadgets
|
||||
- `searchmem|find` - 搜索内存中的 pattern; 支持正则表达式搜索
|
||||
- `shellcode` - 生成或下载常见的 shellcode
|
||||
- `skeleton` - 生成 python exploit 代码模板
|
||||
- `vmmap` - 在调试过程中获取段的虚拟映射地址范围
|
||||
- `xormem` - 用一个 key 来对一个内存区域执行 XOR 操作
|
||||
|
||||
|
||||
## GEF/pwngdb
|
||||
除了 peda 外还有一些优秀的 gdb 增强工具,功能大致相同,可以看情况选用。
|
||||
- [GEF](https://github.com/hugsy/gef) - Multi-Architecture GDB Enhanced Features for Exploiters & Reverse-Engineers
|
||||
- [pwndbg
|
||||
](https://github.com/pwndbg/pwndbg) - Exploit Development and Reverse Engineering with GDB Made Easy
|
||||
|
Loading…
Reference in New Issue
Block a user