0ctf 2017 kernel pwn knote write up】的更多相关文章

UAF due to using hlist_add_behind() without checking. There is a pair locker(mutex_lock) at delete_note(), but isn’t at edit_note_time(). And it doesn’t check the flag before hlist_add_behind() in insert_note(). for(;;) { /* add before a larger epoch…
刚开始上手kernel pwn,光环境就搭了好几天,应该是我太菜了.. 好下面进入正题,环境总共就由两部分构成,qemu和gdb.这两个最好都需要使用源码安装. 我使用的安装环境为 qemu:安装前要先安装 sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev sudo apt--dev sudo apt-get install flex bison 否则会出现QEMU界面弹不出来的问题. 源码下载网址:https:/…
洒家参加了0CTF 2017,做了一些题目.赛后过了好几天,看网上已经有了一些写得不错的Writeup,这里就写一写洒家的一些不一样的思路. 一些不错的Writeup https://ctftime.org/event/402/tasks/ http://www.melodia.pw/?p=889 http://lorexxar.cn/2017/03/21/0ctf2017-web/ Temmo’s Tiny Shop 洒家看网上的Writeup 在拿到Hint,知道flag的表名后爆破flag…
前言 对这段时间学习的 linux 内核中的一些简单的利用技术做一个记录,如有差错,请见谅. 相关的文件 https://gitee.com/hac425/kernel_ctf 相关引用已在文中进行了标注,如有遗漏,请提醒. 环境搭建 对于 ctf 中的 pwn 一般都是给一个 linux 内核文件 和一个 busybox 文件系统,然后用 qemu 启动起来.而且我觉得用 qemu 调试时 gdb 的反应比较快,也没有一些奇奇怪怪的问题.所以推荐用 qemu 来调,如果是真实漏洞那 vmwar…
一.前言 在我们的pwn学习过程中,能够很明显的感觉到开发人员们为了阻止某些利用手段而增加的保护机制,往往这些保护机制又会引发出新的bypass技巧,像是我们非常熟悉的Shellcode与NX,NX与ROP.而当我们将视角从用户态放到内核态的时候,便是笔者今天想与大家分享的两个利用手段:ret2usr与bypass_smep. 二.ret2usr利用介绍 ret2usr的资料在网上其实并不算多,究其原因是其利用手法相对简单,其本意是利用了内核空间可以访问用户空间这个特性来定向内核代码或数据流指向…
在这篇论文中,作者提出了一种更加通用的池化框架,以核函数的形式捕捉特征之间的高阶信息.同时也证明了使用无参数化的紧致清晰特征映射,以指定阶形式逼近核函数,例如高斯核函数.本文提出的核函数池化可以和CNN网络联合优化. Network Structure Overview Kernel Pooling Method The illustration of the tensor product A summary of pooling strategies Experiment Evaluation…
一.前言 Double Fetch是一种条件竞争类型的漏洞,其主要形成的原因是由于用户态与内核态之间的数据在进行交互时存在时间差,我们在先前的学习中有了解到内核在从用户态中获取数据时会使用函数copy_from_user,而如果要拷贝的数据过于复杂的话则内核会选择引用其指针而将数据暂存于用户态中等待后续处理,而在这时数据会存在被条件竞争修改原有数据的风险,也就是笔者要分享的Double Fetch的由来. 二.Double Fetch介绍 如下图所示,用户态首先准备好用户态数据(prepare…
一.前言 在如今的CTF比赛大环境下,掌握glibc堆内存分配已经成为了大家的必修课程.然而在内核态中,堆内存的分配策略发生了变化.笔者会在介绍内核堆利用方式之前先简单的介绍一下自己了解的内核内存分配策略,如有不对的地方欢迎师傅们指正. 二.前置知识 在Linux系统中通过分段与分页机制将物理内存划分成4kb大小的内存页,而涉及到内存分配不可避免的就会产生外部碎片与内部碎片问题,这个在物理页中也是一样的,为了避免这种情况内核管理物理页采用了两个策略:buddy system与slub算法. 伙伴…
基础知识 学习网址:ctfwiki 安全客 Kernel:又称核心 维基百科:在计算机科学中是一个用来管理软件发出的数据I/O(输入与输出)要求的电脑程序,将这些要求转译为数据处理的指令并交由中央处理器(CPU)及电脑中其他电子组件进行处理,是现代操作系统中最基本的部分.它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定一个程序在什么时候对某部分硬件操作多长时间.直接对硬件操作是非常复杂的.所以内核通常提供一种硬件抽象的方法,来完成这些操作.有了这个,通过进…
iOS冰与火之歌(番外篇) 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权 蒸米@阿里移动安全 0x00 序 这段时间最火的漏洞当属阿联酋的人权活动人士被apt攻击所使用的iOS PEGASUS(又称Trident三叉戟)0day漏洞了.为了修复该漏洞,苹果专门发布了一个iOS 9.3.5版本.这个漏洞的厉害之处在于可以直接从沙盒内对内核进行攻击(无需沙盒逃逸),并且同时影响iOS(9.3.4)和OS X (10.11.6).因此,本篇文章将会从PEGASUS漏洞形…