PWN基础2:基础理论

本文介绍了CTF比赛中的PWN题型,涉及漏洞利用的基本概念、解题过程和主要漏洞类型。讲解了PWN题目的难度等级和考察重点,特别强调了栈漏洞、堆漏洞和逻辑漏洞。同时,文章还探讨了32位X86架构下的汇编指令格式和栈帧的概念,通过调试示例加深理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础理论

part 1

1、在CTF比赛中,PWN主要是指漏洞利用,也称为exploit。

2、PWN题型的解题过程一般是寻找程序中存在的漏洞,并利用该漏洞达到一定的效果,如拿到shell、获取flag等。

3、解答PWN题型的基本能力包括:程序逆向能力、漏洞查找能力、利用代码编写能力。

4、PWN题型中的漏洞类型主要可以分为栈漏洞、堆漏洞、格式化字符串漏洞、整形漏洞、逻辑漏洞等。

5、就难易程度来说,栈漏洞、格式化字符串漏洞、整形漏洞的难度要低于堆漏洞、逻辑漏洞。

6、就考察点来说,栈漏洞、堆漏洞、格式化字符串漏洞、整形漏洞偏重于基本功,逻辑漏洞则偏重于思维能力。

part 2

1、32位X86架构下汇编指令有两种格式:intel、AT&T。

  • Intel:寄存器名称和数值前无符号
  • AT&T:寄存器名称前加“%”,数值前加“$”

2、栈帧

  • 就是一个函数执行的环境;函数参数、函数的局部变量、函数执行完后返回到哪里等等
  • 每一个栈帧代表的就是一个未运行完的函数

3、下面可以通过对一个简单程序的调试,来加深对于栈帧的了解,同时熟悉对于gdb的基本使用

//源码
//hello.c

#include <stdio.h>

int test(int a,int b)
{
	int c = a + b;
	return c;
}

int main(int argc, char const *argv[])
{
	test(1,2);
}

使用如下命令编译.c文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值