标签: CTF

7 篇文章

thumbnail
CISCN 2023 西南分区赛 over WriteUp
安全措施 程序分析 首先是初始化程序,将 puts 放在了 bss 段 0x4088 的位置,具体查看汇编发现是直接把 puts 的函数地址放进去了。 主程序先接受一个 name 存在 0x4068 位置,然后执行 4 个选项的菜单循环。 选项 1、2、3 分别能够通过 +、-、^ 操作 0x40a0 之前的内存;选项 4 调用 0x4088 位置…
thumbnail
DASCTF 十月赛 1!5! WriteUp
思路 列出可用集,根据可用集逐步构造出全指令集 根据可用集逐步编码shellcode 看了别的师傅有很巧妙的做法:不直接调shell,而是先手写调read,然后输入真正的shellcode,绕过检测。 我这里主要借机学习一下shellcode编码,就按官方思路复现了。 指令集扩展 shellcode字符集 编写一个基础的shellcode: mov…
thumbnail
DASCTF X CBCTF 2022 九月挑战赛 Appetizer WriteUp
我的第一道沙盒题(竟然不能get shell!!!),主要考察栈帧分配(构造rop链)。顺便学了下pwntools rop的接口,还是挺香的。 我喜欢轮子,exp里会用比较多的轮子,建议看最终exp。 分析过程 栈帧复用 func里面写入的栈帧在check里面复用,通过检测。 io.sendafter(b'identity', …
thumbnail
DASCTF X CBCTF 2022九月挑战赛 Cyberprinter WriteUp
分析过程 观察栈结构 这题的关键(对我来说)就是利用栈上残留的数据。平时练的不多,没有这个习惯,导致泄露和格式化字符串利用都遇上了麻烦。 vuln函数里的栈结构如下: 00:0000│ rsp 0x7fffffffdfe0 ◂— 0x0 ... ↓ 2 skipped 03:0018│ 0x7fffffffdff8 —▸ 0x7ffff7fb55c…
GDB命令详解
GDB命令详解 启动选项 -cd:设置工作目录 -q:安静模式,不打印介绍信息和版本信息 -d:添加文件查找路径 -x:从指定文件中执行GDB指令 -s:设置读取的符号表文件 基础命令 命令 简写 gdb功能 使用方法及备注 list l 列出源代码 每次接着上次的位置往下列,每次列10行;后接参数表示列出以参数位置为中心上下10行代码 run r…