linux suid提权原理,linux关于suid提权笔记
suid全称是Set owner User ID up on execution。这是Linux给可执行文件的一个属性,上述情况下,普通用户之所以也可以使用ping命令,原因就在我们给ping这个可执行文件设置了suid权限。
设置了s位的程序在运行时,其Effective UID将会设置为这个程序的所有者。比如,/bin/ping这个程序的所有者是0(root),它设置了s位,那么普通用户在运行ping时其Effective UID就是0,等同于拥有了root权限。
这里引入了一个新的概念Effective UID。Linux进程在运行时有三个UID:
Real UID 执行该进程的用户实际的UID
Effective UID 程序实际操作时生效的UID(比如写入文件时,系统会检查这个UID是否有权限)
Saved UID 在高权限用户降权后,保留的其原本UID(本文中不对这个UID进行深入探讨)
初代版本 suid.c
int main(int argc, char* argv[]) {
return system(argv[1]);
}
赋予 suid 权限
gcc suid.c -o suid
chmod +s suid
你以为这样就可以正常的利用好suid 后门了嘛??? 不不不不 开始猜坑
其实也就是一个-p的问题
默认这样操作,也是有些系统可以正常获取suid 的
大佬帮测试的结果,保存一下
Linux发行版输出结果
Ubuntu 14.04
uid=33(www-data) gid=33(www-data) euid=0(root) egid=0(root) groups=0(root),33(www-data)
Ubuntu 16.04
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Ubuntu 18.04
uid=33(www-data) gid=33(www-data) groups=33(www-data)
CentOS 6
uid=33(www-data) gid=33(www-data) groups=33(www-data)
CentOS 8
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Debian 6
uid=33(www-data) gid=33(www-data) euid=0(root) egid=0(root) groups=0(root),33(www-data)
Debian 8
uid=33(www-data) gid=33(www-data) euid=0(root) egid=0(root) groups=0(root),33(www-data)
Kali 2019
uid=33(www-data) gid=33(www-data) groups=33(www-data)
有些系统是root权限,有些系统仍然是原本用户权限。
为什么会这样呢?
因为system 函数调用的形式 为 /bin/bash -c
之前遇到老的 nmap --interactive //(+S)执行成功并没有获取到suid 的权限,
linux suid提权原理,linux关于suid提权笔记相关推荐
- linux suid提权原理,Linux SUID提权
概述 find Nmap less bash vim 概述 SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限,如果拥有SUID权限,那么就可以利用 ...
- linux suid提权原理,Linux SUID、SGID、sticky提权
S UID SGID SOID 核心就在 "S" ,S就是允许本圈子 用户有r,w,x ; 例如:1.chmod s+g test.txt 只允许testex.txt所在的组 员可 ...
- linux全网备份的原理,Linux面试题分享:Rsync(全网备份)和NFS(文件系统)
1.1 全网备份(rsync)html 1.1.1.1 ssh2 的默认监听端口是:, ssh 的配置文件是linux 1.1.1.2 服务器 172.24.138.3 上有/data/postmal ...
- linux系统裁剪扩充原理,Linux入门之系统内核原理之初级系统裁剪----“我的系统我做主”...
在上一篇开机启动顺序的博客里,自己混乱的大脑抗不住了.回头看自己写的博文,实在是难以入目.在随后深入了解系统内核原理之后,这里通过动手实验,在原有centos6.0基础上,裁剪出来一个简单的Linux ...
- linux 单调时间实现原理,Linux系统下的单调时间函数
欢迎转载,转载请注明出处:http://forever.blog.chinaunix.net 一.编写linux下应用程序的时候,有时候会用到高精度相对时间的概念,比如间隔100ms.那么应该使用哪个 ...
- Linux内核锁实现原理,linux 大内核锁原理
大内核锁(BKL)的设计是在kernel hacker们对多处理器的同步还没有十足把握时,引入的大粒度锁. 他的设计思想是,一旦某个内核路径获取了这把锁,那么其他所有的内核路径都不能再获取到这把锁. ...
- Linux九大哲学原理,Linux/Unix设计思想(全新阐释开源哲学,Jon “maddog” Hall作序推荐)...
<Linux/Unix设计思想> 第1章 Unix哲学:集思广益的智慧 1 1.1 NIH综合征 2 1.2 Unix的开发 2 1.3 Linux:一个人加上一百万人的智慧 4 1.4 ...
- linux内核时钟工作原理,linux内核的时钟机制
时钟的处理类似中断,也是登记一个时间处理函数,在预定的时间过后,系统会调用这个函数.在include/linux/timer.h里声明,如下所示: struct timer_list{ struct ...
- linux下图片加密原理,Linux中常见的加密技术介绍
常见的加密技术: 对称加密:非对称加密:单向加密:SSL/TLS:秘钥交换 1.对称加密 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密 ...
最新文章
- Nginx学习4:负载均衡实例
- Can’t connect to local MySQL server through socket的解决方法
- JVM 对象状态判断01
- 超四分之一的人工可能被机器取代,AI或成英国脱欧的一大阻碍
- ALV复制内容到剪贴板
- UE3 中文教程主页
- linux中sed或awk,Linux中sed和awk命令比较实例
- BZOJ.3938.Robot(李超线段树)
- 数据结构与算法总结(八股文)
- 2ask信号调制与解调 matlab,2ASK2ASK调制与解调系统的MATLAB实现及性能分析
- 获取文件名,文件名后缀以及elementui多张图片回显
- 网站优化之robots文件详解
- 【Java 8 新特性】Java LocalDate 和 Epoch 互相转换
- Borland 26年风雨路
- linux for 迅雷,关于迅雷for linux
- 条形码录入测试软件,条码管理:商品条码录入
- 1.RecyclerView设置clipToPadding=“false“,scrollbars无法跟随列表滚动到底部的解决方案
- 10M网线与100M网线和1000M(千兆)网线做法
- JAVA大数据(二) Hadoop 分布式文件系统HDFS 架构,MapReduce介绍,Yarn资源调度
- 应对word无法编辑、无法选中、无法删除的方法
热门文章
- Linux下文件的打包与压缩(tar命令)
- android studio使用Bmob来实现登录注册的功能
- uniapp连接mysql数据库
- 俞老师在同济大学的演讲词:度过有意义的生命
- 什么是软件工程方法学?软件工程是一种什么样的技术?包括哪三大 要素
- popupwindow 不抢夺焦点_戴安娜王妃自传电影即将开拍,女主角选定!网评:气质不一样!...
- 中望3D2022 对齐坐标移动(坐标系到坐标系)
- apache-虚拟主机配置(2.4.6)
- What is Logo?
- 在Python字符串里嵌入双引号或者单引号