Pwn 1

359
nc连接即可。

pwn 2

379
checksec一下,发现:

Arch:i386-32-little

说明程序的架构是 32 位的小端 架构。小端是指数据的低位字节存储在内存的低地址处

RELRO:Partial RELRO

RELRO(Relocation Read-Only)是一种保护机制,用于防止 延迟绑定攻击
Partial RELRO 表示只有部分重定位表(如 .got 段)被设置为只读,而 .got.plt 段仍可写。这意味着攻击者仍有一定机会利用重定位相关的漏洞,但防护比 No RELRO 强。

Stack

  • 表示程序 没有开启栈金丝雀(Stack Canary)保护。栈金丝雀是一种用于检测栈溢出的机制,在函数调用时会在栈上特定位置放置一个随机值(“金丝雀”),函数返回前检查该值是否被篡改。没有此保护的话,攻击者可以更轻易地进行栈溢出攻击,覆盖返回地址等关键数据。

NX

  • NX(No-eXecute,不可执行)保护已开启。这意味着内存的某些区域(通常是栈、堆等数据区域)被标记为不可执行,即使攻击者向这些区域注入了可执行代码,程序也无法执行这些代码。这限制了诸如注入 shellcode 这类攻击方式,但可以通过 ret2text(返回程序自身代码段中的有用指令)等方式绕过。

PIE

  • PIE(Position-Independent Executable,地址无关可执行文件)未开启。程序加载时的基地址是固定的。这对漏洞利用很有利,因为程序中函数、字符串等的地址是固定的,攻击者可以直接使用这些固定地址来构造攻击载荷,而无需动态计算地址偏移。

Stripped:No

表示程序 没有被剥离(Stripped)符号表。符号表中包含了函数名、变量名等调试信息。没有被剥离符号表的话,攻击者可以很方便地通过工具(如 objdumpgdb 等)查看程序中的函数、变量等信息,有助于分析程序结构和寻找漏洞利用点。

Pwn 35

主机cmder看:

或者把pwn文件拖进虚拟机加上可执行权限,使用checksec命令查看文件的信息。

1.cd “/home/nemo/桌面/CTFshow Pwn”

2.chmod +x pwn35

3.ls (即 list directory contents,列出目前工作目录所含的文件及子目录)

  1. pwn checksec pwn35

发现是32位的,并且RELRO 与 NX保护开启。

放入ida-32位

ssh ctfshow@pwn.challenge.ctf.show -p28217