Pwndbg基础使用
什么是pwndbg?它是gdb的一个插件,增加了许多功能,来帮助pwn手可以快速寻找到所需要的信息,除了pwndbg之外还有peda、gef等工具可以用来协助进行调试。 如何给pwndbg分屏?12vim ~/.gdbinitset context-output /dev/pts/2 # 这里修改成2,那么就会在第二个终端显示信息 pwndbg的基础操作:启动调试: 12gdb ./文件名比如:gdb ./pwn 如果我们已经成功安装了pwndbg,那么打开gdb之后会显示pwndbg>这样的提示符号,否则是gdb> 基础操作: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576**************************************************pwndbg> start #...
pwntools库的基本使用
啥是pwntools?Pwntools 是一个用于漏洞利用和二进制分析的 Python 库,广泛应用于安全研究、渗透测试和竞争性编程(如 CTF,Capture The Flag)中。它为用户提供了一套强大的工具和功能,以简化与二进制文件的交互、网络通信以及各种常见任务的执行。 简而言之,pwntools可以说是pwn手必备的工具,它帮助pwn手连接远程服务器,发送信息,接收信息,以及提供了很多工具来帮助pwn手快速攻克题目 如何安装pwntools?按照以下流程在python3中安装pwntools 1234>>>git clone https://github.com/Gallopsled/pwntools.git>>>sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential>>>python3 -m pip install --upgrade pip>>>python3...
Linux基础操作和ELF文件保护
基础Linux指令 查看当前目录: pwd:打印当前工作目录路径。 列出目录内容: ls:列出当前目录的文件和文件夹。 ls -l:显示详细信息。 ls -a:显示所有文件,包括隐藏文件。 切换目录: cd 目录名:进入指定目录。 cd ..:返回上级目录。 创建文件和目录: touch 文件名:创建空文件。 mkdir 目录名:创建新目录。 删除文件和目录: rm 文件名:删除文件。 rm -r 目录名:递归删除目录及其内容。 移动和重命名文件: mv 源文件 目标:移动或重命名文件或目录。 复制文件和目录: cp 源文件 目标:复制文件。 cp -r 源目录 目标:递归复制目录。 查看文件内容: cat 文件名:显示文件内容。 less 文件名:分页查看文件内容,适合查看长文件。 编辑文件: nano 文件名 或 vim 文件名:使用nano或vim编辑文件。 查找文件: find /路径 -name 文件名:在指定路径下查找文件。 显示系统信息: uname...
如何搜索下载libc以及其对应的ld文件
查找网站推荐使用下面的网址https://launchpad.net/ubuntu/focal/amd64/libc6网站页面如下: 如何搜索我们需要使用URL来直接进行版本的搜索https://launchpad.net/ubuntu/版本/amd64/libc6我们只需要修改上面的 版本 就可以替换对不同版本的libc进行查找下面是不同的版本名称也就是我们分别将 版本 修改为 :plucky oracular noble 等就可以查到对应的Ubuntu版本所使用的历史libc版本 下面使用 Ubuntu20 版本来举例比如我们想要找一个glibc版本为2.31的glibc那么2.31的glibc应该是对应的Ubuntu20版本那么我们就将版本修改为 focal 也就是URL修改为(注意这里focal必须全部小写)https://launchpad.net/ubuntu/focal/amd64/libc6 然后就会看到不同的glibc版本,选择我们需要的版本,点击进入 这里我们使用 2.31-0ubuntu9.15...
不同输入函数之间的区别
前言本文涉及 read函数 fgets函数 scanf函数 以及 gets函数 获取字符串后内存的区别,以及在pwntools中使用 sendline 和 send 的区别。实验过程有些冗长,嫌麻烦的师傅可以直接查看下面的总结 实验目标 read fgets scanf 这种可以限定大小的输入,如果输入量小于/等于/大于它们的输入量分别会出现什么情况 scanf("%s",&buf)这种情况是否存在溢出 gets 输入是怎么处理\n符号的 下面是我实验用的代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293#include <stdio.h>#include <stdlib.h>#include...
汇编语言基础与堆栈入门
啥是汇编语言?有啥用?深入了解计算机底层,我们会发现,计算机实际上只能执行一些非常基础的操作,但其速度却非常快。计算机的CPU只能执行机器码,即由一系列0和1组成的指令。不同的0和1组合会触发计算机中的不同电路,从而进行各种操作。由于这些0和1的组合很长,阅读起来不方便,因此通常以16进制形式显示。然而,即便如此,16进制的表示仍然难以理解。为了简化这一过程,汇编语言应运而生,它用更易读的符号来表示这些机器指令,从而使程序员能够更方便地编写和理解代码。 啥是寄存器?计算机中的所有指令都是由CPU执行的。在计算机结构中,CPU和内存是分开的,而寄存器则位于CPU内部。CPU可以直接访问寄存器中的数据来执行各种指令操作。在程序执行过程中,数据通常从内存 –> 缓存(cache)–>...
PWN入门手册
什么是 PWN?PWN 是黑客术语中的俚语,是指攻破设备或者系统。它的发音类似于“砰”,当然也有师傅把它叫作“胖”。PWN 的目标是获取系统的控制权或执行未经授权的操作。 如何入门 PWN前置知识 C 语言 学习内容: 程序结构和基础语法 数据类型、分支语句(如 if、switch)和循环(如 for、while) 指针和结构体 学习资源: 浙江大学翁恺教你 C 语言程序设计 C 语言教程 | 菜鸟教程 Python 语言 学习内容: 程序结构和基础语法 循环(for、while)和异常处理(如 try) 学习资源: Python3 教程 | 菜鸟教程 超基础 Python 课程 建议:掌握 C 语言后,可以直接用文章进行 Python 的学习,进度会更快。 汇编语言 常见类型: x86 汇编:Intel 和 AMD 的处理器架构 ARM 汇编:用于移动设备 MIPS 汇编:用于嵌入式系统 PowerPC 汇编:曾用于苹果计算机 RISC-V...