• gyctf_2020_borrowstack

    题目 思路: bank是bss段上的,栈空间不足,把泄露libc的东西放在bank上,通过buf跳转到bank泄露libc去找到libc基址 然后加上对应libc的one_gadget偏移,跳转过去执行ong_gadgat就可以了 脚本12345...
  • pwn49

    题目 看出是静态编译,考虑用mprotect来修改它的权限 ctrl+s查看bss段,找要修改的范围 因为mprotect的地址选择的限制条件 我们把页面边界定为0x80DA000 接着就可以构造payload了 先调用mprotect函数修...
  • ciscn_2019_es_2

    题目 很明显的栈溢出漏洞,但是可操作空间太小,只能覆盖到ret,所以要用栈迁移 有system函数,但是需要自己传参,可以把/bin/sh字符段放在栈上 有两次输入,第一次输入可以用来泄露ebp的地址 第二次要根据泄露地址去...
  • 栈溢出进阶

    栈迁移change_ebp(栈劫持Demo1) 最多填充12个字节,只能覆盖到ebp 写入的magic的范围到0x0804A380~0x0804A38C 所以栈迁移 脚本1234567891011121314from pwn import *p ...
  • ciscn_2019_sw_1

    存在system函数,不需要泄露libc的地址 直接把printf的got表地址覆盖为system函数的地址,然后传递参数为“/bin/sh”即可 而且偏移是4 但是该格式化字符串漏洞只被执行了一次,无法实现操作 所以要修改...
  • 格式化字符串

    原理格式化字符串函数可以接受可变数量的参数,并将第一个参数作为格式化字符串,根据它解析之后的参数。 通俗来说,格式化字符串函数的作用是将计算机内存中的数据转化为人类可读的字符串格式。 一般来说,格式化字符串在利用的时候主要分为三个部分: (1)格式化...
  • ret2libc-printf

    严格符合printf的格式[HarekazeCTF2019]baby_rop2 而且函数中没有system函数和相应字符串 要泄露libc的地址 通过read读取数据,用printf打印出来 printf 函数的 GOT 地址不能用来泄露 pr...
  • gdb调试

    TAB:显示所有命令 start:运行到程序入口处 run:运行完整个程序 🔍 x 命令的基本语法:x/nfs address n :要显示的内存单元个数(默认是 1)。 f :显示格式(format),比如十六进制、十进制、字符串...
  • 御网杯线下2025

    re_c FLAG:flag{HNCTFmng1} re_python 得到 脚本 12345678910c = [144, 163, 158, 177, 121, 39, 58, 58, 91, 111, 25, 158, 72, 53, 1...
  • [HNCTF 2022 WEEK4]flower plus

    链接 花指令分析 发现花指令 db 0C7h 的“垃圾”作用: 0x4012A6 处的 db 0C7h 是一个数据字节。它被 jnz 指令跳转到,但它本身不是一个有意义的执行路径。它的存在是为了干扰反汇编器的线性分析,使其认为这里存在一个实际的代码分...
/4