• 2024-09-16c程序安全防护之-地址空间随机化
    GCC地址空间随机化是一种安全措施,旨在增加攻击者利用缓冲区溢出攻击的难度。这通常通过对堆、栈和其他内存区域进行随机化来实现。在GCC中,可以使用-fstack-protector-strong、-random-base和-Wl,-z,relro,-z,now等编译选项来实现。-fstack-protector-strong:为每个函数启用
  • 2024-04-11攻防世界 Hello_pwn
    先查壳,只开了NX[*]'\hellopwn'Arch:amd64-64-littleRELRO:PartialRELROStack:NocanaryfoundNX:NXenabledPIE:NoPIE(0x400000) 放进IDA反编译。__int64__fastcallmain(inta1,char**a2,char**a3){
  • 2024-02-21程序保护措施
    RELROBSS段设置为只读RELRO(Read-onlyRelocationTable)是一种在二进制程序中应用的保护机制,旨在防止某些类型的攻击,特别是那些依赖于未初始化的数据或重定位表的攻击。在RELRO保护下,程序的重定位表在程序加载时被设置为只读,从而防止攻击者修改它。这可以防止某些形式的缓冲区溢
  • 2023-10-28【pwn】[MoeCTF 2022]babyfmt --格式化字符串漏洞,got表劫持
    拿到程序,先checksec一下发现是PartialRELRO,got表可修改当RELRO保护为NORELRO的时候,init.array、fini.array、got.plt均可读可写;为PARTIALRELRO的时候,ini.array、fini.array可读不可写,got.plt可读可写;为FULLRELRO时,init.array、fini.array、got.plt均可读不可写。然后看主
  • 2023-07-222023.7.22
    今天去学ret2dlreolve剩下的部分,再次人傻了,剩下内容是64位下NORELRO和PartialRELRO的例题exp,我原本以为和32位差不多,当时也不清楚为什么还要再分个64位出来,差点没去看。结果看了之后人傻了,exp用了之前学过的csu的相关知识,我也不太懂为什么要用这个技巧。然后各种exp部分搞得特
  • 2023-07-202023.7.20
    今天学了ctfwiki上ret2dlresolve的stage4。刚开始看到那个exp,给我看傻了。有种熟悉感,但是这种熟悉感来自于我刚开始学PartailRELRO的时候,因为嫌ctfwiki里的六个阶段太麻烦就去找博客看,结果被exp里的各种看不懂作用的代码劝退了。今天看的是伪造符号表项的代码,又看到了那种看不懂
  • 2023-07-152023.7.15
    今天还是在看ret2dlresolve的PartialRELRO部分,因为ctfwiki上几乎只包含个没多少注释的exp,所以又去网上找其他博客来看,中间遇到栈迁移相关的东西不太理解,去问了学长弄懂了一些,自己想和上网查弄懂了一些,但是总体还不是特别清楚。今天说学也没学多少东西,中间想问题的时候还不小心睡
  • 2023-07-142023.7.14
    原本应该从7.10学校放暑假就开始记录的,但是之前因为一些原因没有开始。前两天主要是把之前学的pwn的相关内容复习了一下,因为在学校最后一段时间忙着备考英语六级和期末考,有几周没动网安相关的东西,有点遗忘了。从基本的栈溢出开始,基础rop的ret2text、ret2shellcode、ret2syscall