// A proof-of-concept local root exploit for CVE-2017-1000112. // Includes KASLR and SMEP bypasses. No SMAP bypass. // Tested on Ubuntu trusty 4.4.0-* and Ubuntu xenial 4-8-0-* kernels. // // Usage: // user@ubuntu:~$ uname -a // Linux ubuntu 4.8.0-58…
漏洞版本: PHP PHP 5.x 漏洞描述: BUGTRAQ ID: 66002 CVE(CAN) ID: CVE-2014-2270 PHP是一种HTML内嵌式的语言. PHP的file程序在解析可移植执行体(PE)格式文件时在实现上存在内存破坏漏洞,成功利用该漏洞后可使远程攻击者执行任意代码或造成拒绝服务. <* 参考 https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2014-2270 *> 安全建议: 厂商补丁: PHP --- 目前厂商…
在讲述专业知识前,先讲讲我学习linux内核使用的入门书籍:<深入理解linux内核>第三版(英文原版叫<Understanding the Linux Kernel>),不过这本书不一定对每个人都适合,大家可以根据自己的情况选择适合的入门书籍.看了前面几章,感觉这本书的语言极其精练,没有一句多余的,必须慢慢读.可能我以前习惯了粗略浏览的阅读方式,读这本书时经常看着看着就迷糊了,不得不回到前面重新读起,如此反反复复.关于进程的一章更是深奥难懂,前前后后翻了十几遍才明白个大概.另外说…
转自:http://www.cnblogs.com/xiongyuanxiong/p/3531884.html 在讲述专业知识前,先讲讲我学习linux内核使用的入门书籍:<深入理解linux内核>第三版(英文原版叫<Understanding the Linux Kernel>),不过这本书不一定对每个人都适合,大家可以根据自己的情况选择适合的入门书籍.看了前面几章,感觉这本书的语言极其精练,没有一句多余的,必须慢慢读.可能我以前习惯了粗略浏览的阅读方式,读这本书时经常看着看着就…
在Linux内核中, kmalloc能够分配的最大连续内存为2的(MAX_ORDER-1)次方个page(参见alloc_pages函数,     "if (unlikely(order >= MAX_ORDER))        return NULL;"), page的大小一般是4K bytes, MAX_ORDER缺省定义为11, 所以如果不修改内核, kmalloc能够分配的最大连续内存一般是4M bytes. 内核中获取4M以上大内存的方法有三种: 1.修改MAX_OR…
在内核中, kmalloc能够分配的最大连续内存为2的(MAX_ORDER-1)次方个page(参见alloc_pages函数,     "if (unlikely(order >= MAX_ORDER))        return NULL;"), page的大小一般是4K bytes, MAX_ORDER缺省定义为11, 所以如果不修改内核, kmalloc能够分配的最大连续内存一般是4M bytes. 内核中获取4M以上大内存的方法有三种: 1.修改MAX_ORDER,…
在内核中, kmalloc能够分配的最大连续内存为2的(MAX_ORDER-1)次方个page(参见alloc_pages函数,     "if (unlikely(order >= MAX_ORDER))        return NULL;"), page的大小一般是4K bytes, MAX_ORDER缺省定义为11, 所以如果不修改内核, kmalloc能够分配的最大连续内存一般是4M bytes. 内核中获取4M以上大内存的方法有三种: 1.修改MAX_ORDER,…
这个名叫Dirty COW,也就是脏牛的漏洞,存在Linux内核中已经有长达9年的时间,也就说2007年发布的Linux内核版本中就已经存在此漏洞.Linux kernel团队已经对此进行了修复. 漏洞编号: CVE-2016-5195 漏洞名称: Dirty COW 漏洞危害: 低权限用户利用该漏洞可以在众多Linux系统上实现本地提权 影响范围: Linux kernel >= 2.6.22(2007年发行,到今年10月18日才修复) 漏洞概述: 该漏洞具体为,Linux内核的内存子系统在处…
我感觉学习操作系统首先要从内存分配和管理入手. 首先我们应该知道现代操作系统是以页为单位进行内存管理的,32位体系结构支持4KB的页.而64位体系结构支持8KB的页.页是用来分配的.怎样才干进行高效和充分的利用.这是内存管理单元(MMU)应当细致考虑的. 页分配 内核用结构体struct page表示每一个物理页.内核用这一结构来管理系统中全部的页,由于内核须要知道一个页是否空暇(也就是页有没有被分配).假设页已经被分配,内核须要知道谁拥有这个页,拥有者可能是用户空间进程.动态分配的内核数据.静…
在许多情况中, kobject 类型的 default_attrs 成员描述所有的 kobject 会拥有的属性. 但是那不是一个设计中的限制; 属性随意可以添加到和删除自 kojects. 如果你想添加一 个新属性到一个 kobject 的 sysfs 目录, 简单地填充一个属性结构并且传递它到: int sysfs_create_file(struct kobject *kobj, struct attribute *attr); 如果所有都进行顺利, 文件被使用在属性结构中给定的名字创建,…