摘要:
检查下保护机制: 32位程序,没有开启canary ida逆向看一下情况: 去除了符号表,从参数可以看出sub_8049010是setvbuf(),也可以gdb调试验证那就不去管它,直接看myFun,但是ida报错,没办法反编译: 它说在0x80493A1分析失败,那看下0x804931到底调用了哪 阅读全文
posted @ 2021-03-24 23:06
田埂
阅读(118)
评论(0)
推荐(0)
摘要:
检查下保护机制: 看下程序逻辑: 逻辑相对明确,增删改查,增改放在一块 看下alloc函数,这不是库函数,是一个自己定义的函数 看下delete函数: 没有置空指针,造成uaf,可以用来拿libc地址 然后libc-2.23下的double free 拿malloc_hook就可以了 注意one_g 阅读全文
posted @ 2021-03-22 10:32
田埂
阅读(149)
评论(0)
推荐(0)
摘要:
检查一下开启的保护机制: 用ida分析一下程序: 主函数是这样的: 走到construct_animal()函数: 申请了一个堆块,用以存储动物结构体,看起来这个堆块上有函数指针 并且会把anmial->name初始化为0x24个空格,下面change_name时会用到 main函数调用完const 阅读全文
posted @ 2021-03-09 08:17
田埂
阅读(124)
评论(0)
推荐(0)
摘要:
打开题目链接,显示的页面是这样的: 提示说需要以admin身份登录,那用burp suite抓包看一下: 我们修改cookie值,把tm_admin设置为1,tm_user设置为admin的md5值,这样发送过去就拿到了flag: 阅读全文
posted @ 2021-03-09 08:16
田埂
阅读(86)
评论(0)
推荐(0)
摘要:
题目提供了elf文件和libc库,以及源代码,源码如下: #include <iostream> #include <vector> template<typename T> class safe_vector: public std::vector<T> { public: void wipe() 阅读全文
posted @ 2021-03-07 23:31
田埂
阅读(244)
评论(0)
推荐(0)
摘要:
题目提供了elf文件和源码 源码是这样的: global _start section .text %macro call 1 ;; __stack_shadow[__stack_depth++] = return_address; mov ecx, [__stack_depth] mov qwor 阅读全文
posted @ 2021-03-07 23:29
田埂
阅读(180)
评论(0)
推荐(0)
浙公网安备 33010602011771号