gcc -pthread dirtyc0w.c -o dirtyc0w
- 尝试使用
gcc -pthread dirtyc0w.c -o dirtyc0w
编译该POC文件 gcc
命令是一个编译器套件,可用于编译多种语言源码。 可见编译选项中指定-pthread
会附加一个宏定义-D_REENTRANT
,该宏会导致libc
头文件选择那些thread-safe
的实现。-o
参数为编译后输出文件名。 如下图所示已经编译成功。
00x1 漏洞编号:
CVE-2016-5195
00x2 漏洞危害:
低权限用户利用该漏洞可以在众多Linux系统上实现本地提权
00x3影响范围:
Linux kernel >=2.6.22(2007年发行,到今年10月18日才修复)
有两个EXP,一个是可以写文件的,另外一个是修改etc/passwd的。
首先先来演示一波写文件的。
通过:gcc -pthread dirtyc0w.c -o dirtyc0w编译EXP
然后随便写一个文件权限设置未0404,然后执行编译好的文件./dirtyc0w foo caixukun_666
后面的caixukun_666可以是任何字符,当然也可以通过`whoami`来执行命令,但是有点限制就是好像并不完全显示所有命令执行完的字符,比如你执行ifconfig就会被截断掉部分;
看操作吧,可以通过最后效果图看出确实被截断的内容挺多的。这个目前还不知道该如何解决。
第二种方法
移驾伟大的bilibili:https://www.bilibili.com/video/av29409902?from=search&seid=2410299608142378867
PS:后面会补上的。