yvyvSunlight
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

认证访问github

github已经移除了账号-密码的认账方式 使用个人访问令牌(PAT)使用ssh连接
2025-04-03
chore

pwn自动化更改libc

原始方法更改pwn题libc pwninit项目地址:io12/pwninit: pwninit - automate starting binary exploit challenges参考文章:pwninit项目常见问题解决方案-CSDN博客 功能: 安装1cargo install pwninit 使用pwninit自动化将相关的二进制文件、库文件放置在同一个目录下执行 1
2025-04-02
pwn

整数安全

1scanf("%[^\n]", buffer); %[^\n]格式符用于从输入流中读取一行字符串,直到遇到换行符为止换行符本身不会被读取,而是留在输入缓冲区中 1void *memcpy(void *dest, const void *src, size_t n); dest:目标内存地址(指向要写入数据的内存块)src:源内存地址(指向要复制的数据块)n:要复制的字节数
2025-03-31
pwn

house of apple

条件: 从main函数返回或能调用exit函数 能泄漏出heap地址和exit地址 能使用一次largebin attack 当程序从main函数返回或执行exit函数时,均会调用fcloseall函数该调用链为: exit fcloseall _IO_cleanup _IO_flush_all_lockp_ _IO_OVERFLOW 最后会遍历_IO_list_all存放
2025-03-31

whuctf2025-wp与复现

pwn repeater利用思路: 泄漏canary 泄漏泄漏调用程序主体的__libc_start_call_main+128函数地址 根据__libc_start_call_main+128地址和libc中固定的相对偏移计算出函数__libc_start_main函数地址,进而计算出libc基址 覆盖程序返回值,调用system拿到shell 泄漏出main函数返回地址:__libc_st
2025-03-29

Largebin Attack

2025-03-28

house of force

如果一个堆(heap based)漏洞想要通过house of force方法利用需要以下条件: 能够以溢出等方式控制到top chunk的size域 能够自由地控制堆分配尺寸的大小 这种利用手法来源于glibc对top chunk的处理:进行堆分配时,如果所有空闲的块都无法满足需求,那么就会从top chunk中分割出相应的大小作为堆块的空间 ctfshow143no pie在这个题目中
2025-03-28
pwn
#堆利用

堆相关数据结构

malloc_chunkbinfastbin小LIFO单链表不会对free chunk进行合并操作 smallbin中FIFO循环双链表相邻的free chunk会进行合并操作 largebin大 unsortedbin 64位中<= 0x80 fastbin <<= 0x200 smallbin < largebi
2025-03-27
pwn
#堆利用

off-by-one

单字节缓冲区溢出 Maybe in: 使用循环语句向堆块中写入数据时,循环的次数设置错误 字符串操作不合适 off-by-one是可以基于各种缓冲区的,比如堆、栈、bss段等,在堆上比较常见 详见:堆中的 Off-By-One - CTF Wiki 利用手法: 控制溢出字节:修改大小造成块结构之间出现重叠,从而泄漏其它块数据,或是覆盖其它块数据 溢出NULL字节:使得pre_inuse
2025-03-27
pwn
#堆利用

ida创建结构体

ida快照ctrl + shift + w : 唤起创建ida快照窗口ctrl + shift + t : 唤起ida历史快照窗口 0x01 在结构体(structures)窗口中定义(shift + F9)View -> Open Subview -> Structures(shift+ F9) 进入结构体窗口按insert新建结构体(delete键删除)在结构体的ends行,按d
2025-03-27
逆向
123…6

搜索

Hexo Fluid