这周 打了4小时的 天翼杯CTF,作为菜鸡肯定是 没有做出一道题的。主要是感觉现在比赛的题目难度和我平时做的题的难度差距太大了,导致自己打比赛时,碰到题都一筹莫展。虽然,现在实力还很菜,但是我还是想多参加这些比赛,然后赛后多复盘一下真题吧。
SafeBox
程序分析
输入指令进buf,然后使用了 mmap 函数给 dest赋予了 7的执行权限,将 buf的内容拷贝到 dest去,最后执行 dest所在的函数指针。
只能调用 read 和 write 函数,并且read 函数的参数 fd 必须大于等于4,所以写 shellcode时 open两次,第一次文件标识符为3,第二次文件标识符为4.
爆破的方法是 把flag 的每个字节取出来放到寄存器 al 中,然后与我们的 可输出字符返回比较,如果比较一致使用 JZ 跳到 ret 返回,如果不一致 则使用 JZ跳入死循环。
没有环境,还有对沙箱逃逸的题还不太熟悉,以后再来补坑。
EXP
1 | from pwn import * |
- 本文作者: A1ex
- 本文链接: http://yoursite.com/2020/08/02/2020天翼杯CTF/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!