墨锋阁 Code & Conquer

CISCN 2023 西南分区赛 over WriteUp

安全措施 程序分析 首先是初始化程序,将 puts 放在了 bss 段 0x4088 的位置,具体查看汇编发现是直接把 puts 的函数地址放进去了。 主程序先接受一个 name 存

墨锋 墨锋 Published on 2023-06-12

DASCTF 十月赛 1!5! WriteUp

思路 列出可用集,根据可用集逐步构造出全指令集 根据可用集逐步编码shellcode 看了别的师傅有很巧妙的做法:不直接调shell,而是先手写调read,然后输入真正的shellcode,绕过检测。 我这里主要借机学习一下shellcode编码,就按官方思路复现了。 指令集扩展 shellcode

墨锋 墨锋 Published on 2022-11-06

DASCTF X CBCTF 2022 九月挑战赛 ez_note WriteUp

这题拖了挺久的,因为一些知识点还不是很明白。 分析过程 checksec 保护全开 [*] '/mnt/e/sec/dasctf/ez_note/pwn' Arch: amd64-64-little RELRO: Full RELRO Stack: Can

墨锋 墨锋 Published on 2022-10-17

DASCTF X CBCTF 2022 九月挑战赛 Appetizer WriteUp

我的第一道沙盒题(竟然不能get shell!!!),主要考察栈帧分配(构造rop链)。顺便学了下pwntools rop的接口,还是挺香的。 我喜欢轮子,exp里会用比较多的轮子,建议看最终exp。 分析过程 栈帧复用 func里面写入的栈帧在check里面复用,通过检测。 io.send

墨锋 墨锋 Published on 2022-09-26

格式化字符串任意地址写入栈上数据

利用限制 存在格式化字符串漏洞 每个格式化字符串只能实现一次 需要等待int长度空格的输出时间 利用原理 *可以通过参数指定格式化字符串的宽度,比如: int width = 10; char ch = 'a'; printf("|%*c|", width, ch); // output:|

墨锋 墨锋 Published on 2022-09-25