无标题
Pwn 1

nc连接即可。
pwn 2

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

主机cmder看:

或者把pwn文件拖进虚拟机加上可执行权限,使用checksec命令查看文件的信息。
1.cd “/home/nemo/桌面/CTFshow Pwn”
2.chmod +x pwn35
3.ls (即 list directory contents,列出目前工作目录所含的文件及子目录)
- pwn checksec pwn35

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

ssh ctfshow@pwn.challenge.ctf.show -p28217
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 琉璃幻彩的博客!
评论

