上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 21 下一页
摘要: 在寫C的過程中,我們會很自然地以為,我連續宣告一堆大小不一的char array。經過Complier之後這些char array未必是連續擺放。至於為什麼就要談到我們今天的主角了alignment以x86-32bit為例,他喜歡一次讀取 4 Bytes (i.e. 32 bits),記憶中可以想成一格一格為 4 Bytes.其indes從 0 ~ 2^32 - 1我們可以用 printf(sizeof(void *)); 來得知。machine在讀取指令時以多少Bytes為單位。printf(sizeof(unsigned long));也行。好讓每次讀取的位置皆為4的倍數,e.g. 0, 阅读全文
posted @ 2013-08-21 16:37 jeremyatchina 阅读(211) 评论(0) 推荐(0) 编辑
摘要: CLONE_NEWUSER trickery: CVE-2013-1858Recent kernels (3.8+ something) introduced a feature calleduser-namespaces (user-ns,CLONE_NEWUSERflag)in which you can have your own UID 0.Think of it as a container solution, so you canset up compartments on a host. A nice thing,but it has some security implicat 阅读全文
posted @ 2013-08-21 12:51 jeremyatchina 阅读(393) 评论(0) 推荐(0) 编辑
摘要: __user表示是一个用户空间的指针,所以kernel不可能直接使用。#ifdef __CHECKER__# define __user __attribute__((noderef, address_space(1)))# define __kernel /* default address space */#else# define __user# define __kernel#endifnoderef告诉编译器,不应该解除该指针的引用,因为在当前地址空间中它是没有意义的。这里的CHECKER表示是否使用了Sprase(就是一种静态分析工具,用来分析内核源码中的BUG)。是不是想研究一下 阅读全文
posted @ 2013-08-20 18:46 jeremyatchina 阅读(4207) 评论(0) 推荐(0) 编辑
摘要: Table of Contents,Show Frames,No FramesChapter 15Linux Data StructuresThis appendix lists the major data structures that Linux uses and which are described in this book. They have been edited slightly to fit the paper.block_dev_structblock_dev_structdata structures are used to register block devices 阅读全文
posted @ 2013-08-20 18:25 jeremyatchina 阅读(362) 评论(0) 推荐(0) 编辑
摘要: author :deep_pro目前网上的这个exploit(http://www.milw0rm.com/exploits/8369)的分析是有些问题的(http://forum.eviloctal.com/viewthread.php?tid=34942&pid=154634&page=1&extra=page%3D1#pid154634)感谢乱雪给我提供了思路,解释了疑问有问题的内核代码( http://lxr.linux.no/linux+v2.6.29/kernel/exit.c#L951)if (tsk->exit_signal != SIGCHLD 阅读全文
posted @ 2013-08-20 13:53 jeremyatchina 阅读(641) 评论(0) 推荐(0) 编辑
摘要: udp_sendmsg空指针漏洞分析 by wzt漏洞描述:由于Linux ipv4协议栈中udp_sendmsg()函数设计上存在缺陷, 导致struct rtable *rt以空指针形式传递给ip_append_data(), 从而引发kernel oops,攻击者可以利用此漏洞提升进程权限。漏洞影响2.6.19以下的版本。漏洞成因:>> linux+v2.6.18/net/ipv4/udp.cint udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,size_t len){...// rt被 阅读全文
posted @ 2013-08-20 13:20 jeremyatchina 阅读(831) 评论(0) 推荐(0) 编辑
摘要: 函數:void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize); 参數start:指向函數:void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize);参數start:指向欲映射的內存起始地址,通常設为 NULL,代表讓系統自動選定地址,映射成功後返回該地址。参數length:代表將文件中多大的部分映射到內存。参數prot:映射區域的保護方式。可以为以下幾種方式的組合:PROT_EXEC 映射區域可被執 阅读全文
posted @ 2013-08-19 14:13 jeremyatchina 阅读(6066) 评论(0) 推荐(1) 编辑
摘要: Exploit The Linux Kernel NULL Pointer Dereference Author: wztHome: http://hi.baidu.com/wzt85date: 2010/06/13Version: 0.3目录:1、引言2、NULL Pointer是如何引发OOPS的3、如何Exploit4、攻击实验5、NULL Pointer与Selinux的关系6、如何防御NULL Pointer漏洞7、附录1、引言在最近一系列的Linux kernel本地溢出漏洞中, 大部分是由于内核引用一个空指针而引发的, 看NULL Pointer... 阅读全文
posted @ 2013-08-19 11:26 jeremyatchina 阅读(1518) 评论(0) 推荐(0) 编辑
摘要: Exploit Linux Kernel Slub OverflowBy wzt一、前言 最近几年关于kernel exploit的研究比较热门,常见的内核提权漏洞大致可以分为几类:空指针引用,内核堆栈溢出,内核slab溢出,内核任意地址可写等等。空指针引用漏洞比较容易exploit,典型的例子如sock_sendpage,udp_sendmsg。但是新内核的安全模块已经不在允许userspace的code映射低内存了,所以NULL pointer dereference曾经一度只能dos,不能提权。但是CVE-2010-4258这个内核任意地址可写漏洞,可以将null pointer ... 阅读全文
posted @ 2013-08-18 19:18 jeremyatchina 阅读(775) 评论(0) 推荐(0) 编辑
摘要: /****************************************************************************** * .:: Impel Down ::. * * Linux 2.6.x fs/pipe.c local kernel root(kit?) exploit (x86) * by teach & xipe * Greetz goes to all our mates from #nibbles, #oldscho... 阅读全文
posted @ 2013-08-17 23:40 jeremyatchina 阅读(332) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 21 下一页