plaidctf-2016 Pwn试题小结】的更多相关文章

回顾了一下今年plaidctf Pwn部分的题目,感觉还是蛮有意思的,值得研究一下. 1.unix_time_formatter-76 最简单的一道题,考点是UAF.说是UAF但是其实根本就不算是真正的UAF利用,无非就是对释放的内存块进行同大小的占位.因为程序中会把内存块的内容作为system函数的参数,所以只要重新占位并写入/bin/sh就可以了,这道题还是相当简单的. 2.butterfly-150 这道题比较有趣.详细的看了一下. int __cdecl main(int argc, c…
4.28的宣讲会圆满结束(就在写这段话之前不久),对于西邮Linux兴趣小组这一次纳新,身为局外人表示:还是有历史,还是会玩,还是厉害哈. 华丽的分割线里面是自己之前的攻关战略,最后补充了宣讲会上学长的解释,属于自己的攻关过程之外,但值得记录. 以下攻关内容叙述角度模拟一个人单独挑战时的思考,实则我是在各种指点下与学长共同完成的.. 因此,感谢帮我的学长,还有下方评论区的伙伴@奥尔德赛,对于技术,我们永远是朋友. FREE OPEN SHARE -------------------------…
Linux 兴趣小组2016免试题 点这里 首先贴出第四关链接Linux 兴趣小组2016免试题 第四关 第四关: 进入网址我们看到的是4张扑克牌K,这是什么意思? 要我斗地主?好了,还是乖乖的先查看源码吧. 但是什么也没有发现啊.没办法,将四张照片都下载下来看看,可是左看右看还是一张图片啊,该不会在图片内容中隐藏着什么吧?那怎样查看图片内容呢? 找个十六进制编辑器吧! 这些其实都可以,大家自己选择由于我在Linux操作系统下熟悉了hexedit,就下载了一个hexedit来分析.没办法,一张一…
自学了一段时间的多线程知识,尝试了做了几个编程题,发现想象中很简单的功能,自己真写起来要花费远超自己想象的功夫,知识点易学,不易用啊. 面试题1:编写程序实现,子线程循环10次,接着主线程循环20次,接着再子线程循环10次,主线程循环20次,如此反复,循环50次. package com.wang.reflect; //编写功能类,实现子线程和主线程的功能 class Function{ private boolean flag=false; //子线程要实现的功能 public synchro…
前言 招聘高峰期来了,大家都非常积极地准备着跳槽,那么去一家公司面试就会有一堆新鲜的问题,可能不会,也可能会,但是了解不够深.本篇文章为群里的小伙伴们去要出发公司的笔试题,由笔者整理并提供笔者个人参考答案.注意,仅供参考,不代表绝对正确. 参考答案不唯一,大家可以根据自己的理解回答,没有必要跟笔者的一样.参考笔者的答案,也许给你带来灵感! 题目照 1.编程规范问题 这题看不清楚,不过可以看得出来是编程规范问题.所以呢,笔者也就没有办法说明哪些不合理了.不过笔者曾经为公司的出过一个编程规范文档,后…
序言 招聘高峰期来了,大家都非常积极地准备着跳槽,那么去一家公司面试就会有一堆新鲜的问题,可能不会,也可能会,但是了解不够深.本篇文章为群里的小伙伴们去宝库公司的笔试题,由笔者整理并提供笔者个人参考答案.注意,仅供参考,不代表绝对正确. 参考答案不唯一,大家可以根据自己的理解回答,没有必要跟笔者的一样.参考笔者的答案,也许给你带来灵感! 1.对数组中的元素去重复 例如:   1 2 3   NSArray *array = @[@"12-11", @"12-11",…
PS:这是我很久以前写的,大概是去年刚结束Hitcon2016时写的.写完之后就丢在硬盘里没管了,最近翻出来才想起来写过这个,索性发出来 0x0 前言 Hitcon个人感觉是高质量的比赛,相比国内的CTF,Hitcon的题目内容更新,往往会出现一些以前从未从题目中出现过的姿势.同时观察一些CTF也可以发现,往往都是国外以及台湾的CTF中首先出现的姿势,然后一段时间后才会被国内的CTF学习到. 此次Hitcon2016目前还未发现有中文的writeup放出,由于Hitcon题目的高质量,所以这里写…
ZCTF的pwn赛题分析, PWN100 这道题与SCTF的pwn100玩法是一样的,区别在于这个要过前面的几个限制条件.不能触发exit(0).否则就不能实现溢出了. 依然是触发canary来leak出内存中的flag. note1 这次ZCTF的题是以一个系列出的,以下三个题都是同一个程序. 首先看了一下程序的大概流程,这个是记事本程序. 1.New note\n2.Show notes list\n3.Edit note\n4.Delete note\n5.Quit\noption--->…
pwn200 漏洞给的很明显,先是读到了main的局部数组中,然后在子函数中向子函数的局部数组栈里复制. 总体思路是leak system的地址,然后再向一个固定地址写入/bin/sh,最后执行system函数 leak使用pwn库的DynELF实现,整体使用rop链. //ida伪代码 int __fastcall echo(__int64 a1) { char s2[]; // [sp+10h] [bp-10h]@2 for ( i = ; *(_BYTE *)(i + a1); ++i )…
1.OC内存管理机制 1).当你使用new,alloc和copy方法创建一个对象时,该对象的保留计数器值为 1.当你不再使用该对象时,你要负责向该对象发送一条release或autorelease消息.这样,该对象将在使用寿命结束时被销毁. 2).当你通过任何其他方法获得一个对象时,则假设该对象的保留计数器值为1,而且已经被设置为自动释放,你不需要执行任何操作来确保该对象被清理.如果你打算在一段时间内拥有该对象,则需要保留它并确保在操作完成时释放它. 3).如果你保留了某个对象,你需要(最终)释…