小Pwn手杂谈之如何搜索下载libc以及其对应的ld文件 前言本文的完成离不开tw11ty师傅的帮助,在此深表感谢 推荐使用下面的网址https://launchpad.net/ubuntu/focal/amd64/libc6网站页面如下: 如何搜索:我们需要使用URL来直接进行版本的搜索https://launchpad.net/ubuntu/版本/amd64/libc6我们只需要修改上面的 版本 就可以替换对不同版本的libc进行查找下面是不同的版本 2025-01-13
小Pwn手杂谈之不同输入函数之间的区别 前言本文涉及 read函数 fgets函数 scanf函数 以及 gets函数 获取字符串后内存的区别,以及在pwntools中使用 sendline 和 send 的区别。实验过程有些冗长,嫌麻烦的师傅可以直接查看下面的总结 实验目标 read fgets scanf 这种可以限定大小的输入,如果输入量小于/等于/大于它们的输入量分别会出现什么情况 scanf(" 2024-11-19
PWN入门(1.1.2)C程序调用过程与函数栈变化(32位 vs 64位)(Intel) 本文使用Intel 的32位为例子进行举例。64位本质上和32位类似,主要区别在于函数参数的调用方式,文章结尾会简要提及。 重新回顾一下栈pop和push指令 12// 将0x50的压入栈push 0x50 1234// 将esp指向的数据放入指定的寄存器中pop 寄存器名字比如 :pop eax执行之后eax的值就变成了0x50 栈帧是什么?栈帧,也就是stack frame,其本质就是一种 2024-10-05
PWN入门(1.1.3)Linux基础操作和ELF文件保护 这里不讨论Linux的历史及其与Windows的比较。直接介绍一些简单基础的操作。首先我们需要安装一个Linux操作系统(首先推荐Ubuntu),我们需要安装一个VM虚拟机,然后在里面搭建一个Ubuntu的虚拟机 可以直接百度搜索,这里推荐一个文章安装虚拟机(VMware)保姆级教程(附安装包)_vmware虚拟机-CSDN博客根据教程你可以成功安装Ubuntu虚拟机之后第一件事情不是配置PWN环 2024-10-05
pwntools库的基本使用 啥是pwntools?Pwntools 是一个用于漏洞利用和二进制分析的 Python 库,广泛应用于安全研究、渗透测试和竞争性编程(如 CTF,Capture The Flag)中。它为用户提供了一套强大的工具和功能,以简化与二进制文件的交互、网络通信以及各种常见任务的执行。 简而言之,pwntools可以说是pwn手必备的工具,它帮助pwn手连接远程服务器,发送信息,接收信息,以及提供了很多工 2024-10-05
Pwndbg基础使用 什么是pwndbg?它是gdb的一个插件,增加了许多功能,来帮助pwn手可以快速寻找到所需要的信息,除了pwndbg之外还有peda、gef等工具可以用来协助进行调试。 如何给pwndbg分屏?12vim ~/.gdbinitset context-output /dev/pts/2 # 这里修改成2,那么就会在第二个终端显示信息 pwndbg的基础操作:启动调试: 12gdb ./文件名比如: 2024-10-05
PWN入门(1.1.0)ELF 文件格式和程序段解析(简版) ELF (Executable and Linkable Format): 是一种用于 可执行文件、目标文件 和 库 的文件格式,类似于 Windows 下的 PE 文件格式。 ELF 主要包括三种类型的文件: 可重定位文件 (relocatable): 编译器和汇编器产生的 .o 文件,由 Linker 处理。 可执行文件 (executable): Linker 对 .o 文件进行处理后输出 2024-10-05
PWN入门(1.0.0)前言 什么是 PWN?PWN 是黑客术语中的俚语,是指攻破设备或者系统。它的发音类似于“砰”,当然也有师傅把它叫作“胖”。PWN 的目标是获取系统的控制权或执行未经授权的操作。 如何入门 PWN前置知识 C 语言 学习内容: 程序结构和基础语法 数据类型、分支语句(如 if、switch)和循环(如 for、while) 指针和结构体 学习资源: 浙江大学翁恺教你 C 语言程序设计 C 语言教程 2024-10-05
PWN入门(1.1.1)汇编语言基础与堆栈入门 啥是汇编语言?有啥用?深入了解计算机底层,我们会发现,计算机实际上只能执行一些非常基础的操作,但其速度却非常快。计算机的CPU只能执行机器码,即由一系列0和1组成的指令。不同的0和1组合会触发计算机中的不同电路,从而进行各种操作。由于这些0和1的组合很长,阅读起来不方便,因此通常以16进制形式显示。然而,即便如此,16进制的表示仍然难以理解。为了简化这一过程,汇编语言应运而生,它用更易读的符号来表 2024-10-05