摘要:
保护策略: 程序分析: 这道题的难点就在于程序分析上,如果理解push和pop这两个函数,这道题就迎刃而解了。 先分析下push函数 这里是将a2的值(a2是我们输入的数据)写到a1[result+1]的位置,最终决定写入数据的位置由a1和result(也就是*a1)共同决定。然后我们去看一下a1怎 阅读全文
摘要:
MyCanary2 保护策略: 程序逻辑: 可以选择1,进行输入,并且这里存在了大量的溢出。 选择2,则是将一个随机数打印出来(这道题其实就相当于人工构造了一个canary),不过打印出来之后会重新存入一个新的随机数。 选择3就会退出while的无限循环。 最后main函数返回的时候有一个检查如下 阅读全文
摘要:
这道题不知道我这个方法算不算非预期解,不过做出来之后看其他师傅们的wp感觉自己的方法弱爆了,下面简单分析一下这道题。 保护策略: 程序分析: 这个函数就是出题人准备了一个shellcode,然后放到了一个随机的位置。但是这个shellcode放到的这个位置是不可执行的... 不知道有啥意义,反正我感 阅读全文
摘要:
这次比赛由于本人较菜,只做出了一道格式化字符串的那道题(比赛24个小时,这道题我打了18个小时,是真菜),在知道roderick师傅三小时做了四道题之后,就感觉自己更菜了 o(╥﹏╥)o 然后由于堆题的libc版本都很高,所以暂时先没打算复现(主要菜狗才刚把低版本libc的堆基础漏洞学完) 这里就记 阅读全文
摘要:
这篇文章是我对off by null的一个学习总结,我这里就不再单独对off by one进行总结了,因为利用的思想是一样的。我对off by null的总结分为了两部分,第一部分是对利用的思路进行了总结,第二部分是对off by null做过的题目进行了总结。这篇文章不是特别适合对off by n 阅读全文
摘要:
使用one_gadget的时候,必须要满足一定条件,如果所有one_gadget都没有满足条件,那么我们可以使用realloc函数来调整栈帧打one_gadget。本文以2.23的libc版本中的realloc函数举例说明使用realloc函数是如何调整栈帧打one_gadget的,但是在不同的li 阅读全文
摘要:
第一次在比赛里ak了pwn,hhh。不过这个比赛的pwn题还是非常简单的,一共十道题。我认为对我来说有帮助的只有三道题(其他的太简单了,在此就不再记录了) 我下面写的这三道pwn题,附件在这里 链接: https://pan.baidu.com/s/1sZ3I815S0O-zGmcb03DTdw?p 阅读全文
摘要:
保护策略 漏洞所在 考察的堆上的格式化字符串漏洞,利用方法和bss段上的格式化字符串漏洞一样,布置栈链。 关于栈链的布置,我在这篇文章里介绍过了。 大致思路 由于保护全开,所以需要先用格式化字符串泄露一下libc地址 程序基地址 栈地址,这个题还是比较简单,格式化字符串漏洞循环了30次,所以不必担心 阅读全文
摘要:
之前本来是看着CTF wiki上学off by one呢,结果搜题目的时候,看见了这道题还有99分,名字叫ebp,估摸着是栈题,就做了一下,难度较低,考察的bss段上格式化字符串漏洞。 保护策略: 漏洞分析: 这里存在了格式化字符串漏洞,不过是在bss段上的。 考虑到没开任何保护,第一反应就是用sh 阅读全文
摘要:
由于本人比较菜,同时学pwn的时间不是太久,因此iscc的很多堆还没有能力去做,只把比赛的栈题给做完了 赛后又做了一下unlink那道题。其他堆题目前还没有复现。(有一个格式化字符串太简单了,我就不写wp了) sim_treasure 大致思路: 程序无限次执行格式化字符串漏洞,思路为泄露出函数的真 阅读全文