摘要: 检查下保护机制: 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)
摘要: 现在有一组数,某一个数字a重复的次数超过了总数的一半,找出这个数字 对于这种情况,可以采用摩尔投票算法 思路就是:既然它出现的次数大于n/2 ,那我每次拿出两个不相等的数,直到拿完或者剩下的数字都一样, 最坏的情况就是每次拿出的数字都包含a,即使这样,最后数组里的数字仍然都是a 可以这样证明,比如有 阅读全文
posted @ 2021-02-20 01:11 田埂 阅读(86) 评论(0) 推荐(0)
摘要: 检查一下保护机制: 只有pie没有开 ida看下程序逻辑: main函数: 第13行获取一个数字,第14行malloc(8*num)申请一个堆块,这个堆块将被用于保存其它堆块的堆址 然后进入while循环,首先是sub_4011c6函数: 会把数组off_404020里的字符指针指向的字符串依次打印 阅读全文
posted @ 2021-02-08 15:00 田埂 阅读(241) 评论(0) 推荐(0)
摘要: 检查一下保护机制: 没有开启canary和pie,栈溢出少了很多麻烦 ida看下程序逻辑: gets函数导致栈溢出,可惜只有write函数作为输出, 本地可以写常用的rop,调用write函数泄露地址,但是远程的rdx好像为0,因此采用ret2csu的办法去泄露地址,拿到地址后接着写rop,执行sy 阅读全文
posted @ 2021-02-08 14:59 田埂 阅读(158) 评论(0) 推荐(0)
摘要: 64位程序,函数的前六个参数存储在 rdi、rsi、rdx、rcx、r8、r9,其余的参数放在栈上 在ret2libc的时候,需要知道libc的基址,然后才能知道具体的库函数地址 那么首要的问题就是泄露出libc基址,如果有puts、printf函数还好说,倘若给一个write函数,那么泄露地址就成 阅读全文
posted @ 2021-02-07 22:27 田埂 阅读(830) 评论(0) 推荐(2)