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提权笔记相关推荐

  1. linux suid提权原理,Linux SUID提权

    概述 find Nmap less bash vim 概述 SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限,如果拥有SUID权限,那么就可以利用 ...

  2. linux suid提权原理,Linux SUID、SGID、sticky提权

    S UID SGID SOID 核心就在 "S" ,S就是允许本圈子 用户有r,w,x ; 例如:1.chmod s+g test.txt 只允许testex.txt所在的组 员可 ...

  3. 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 ...

  4. linux系统裁剪扩充原理,Linux入门之系统内核原理之初级系统裁剪----“我的系统我做主”...

    在上一篇开机启动顺序的博客里,自己混乱的大脑抗不住了.回头看自己写的博文,实在是难以入目.在随后深入了解系统内核原理之后,这里通过动手实验,在原有centos6.0基础上,裁剪出来一个简单的Linux ...

  5. linux 单调时间实现原理,Linux系统下的单调时间函数

    欢迎转载,转载请注明出处:http://forever.blog.chinaunix.net 一.编写linux下应用程序的时候,有时候会用到高精度相对时间的概念,比如间隔100ms.那么应该使用哪个 ...

  6. Linux内核锁实现原理,linux 大内核锁原理

    大内核锁(BKL)的设计是在kernel hacker们对多处理器的同步还没有十足把握时,引入的大粒度锁. 他的设计思想是,一旦某个内核路径获取了这把锁,那么其他所有的内核路径都不能再获取到这把锁. ...

  7. 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 ...

  8. linux内核时钟工作原理,linux内核的时钟机制

    时钟的处理类似中断,也是登记一个时间处理函数,在预定的时间过后,系统会调用这个函数.在include/linux/timer.h里声明,如下所示: struct timer_list{ struct ...

  9. linux下图片加密原理,Linux中常见的加密技术介绍

    常见的加密技术: 对称加密:非对称加密:单向加密:SSL/TLS:秘钥交换 1.对称加密 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密 ...

最新文章

  1. Nginx学习4:负载均衡实例
  2. Can’t connect to local MySQL server through socket的解决方法
  3. JVM 对象状态判断01
  4. 超四分之一的人工可能被机器取代,AI或成英国脱欧的一大阻碍
  5. ALV复制内容到剪贴板
  6. UE3 中文教程主页
  7. linux中sed或awk,Linux中sed和awk命令比较实例
  8. BZOJ.3938.Robot(李超线段树)
  9. 数据结构与算法总结(八股文)
  10. 2ask信号调制与解调 matlab,2ASK2ASK调制与解调系统的MATLAB实现及性能分析
  11. 获取文件名,文件名后缀以及elementui多张图片回显
  12. 网站优化之robots文件详解
  13. 【Java 8 新特性】Java LocalDate 和 Epoch 互相转换
  14. Borland 26年风雨路
  15. linux for 迅雷,关于迅雷for linux
  16. 条形码录入测试软件,条码管理:商品条码录入
  17. 1.RecyclerView设置clipToPadding=“false“,scrollbars无法跟随列表滚动到底部的解决方案
  18. 10M网线与100M网线和1000M(千兆)网线做法
  19. JAVA大数据(二) Hadoop 分布式文件系统HDFS 架构,MapReduce介绍,Yarn资源调度
  20. 应对word无法编辑、无法选中、无法删除的方法

热门文章

  1. Linux下文件的打包与压缩(tar命令)
  2. android studio使用Bmob来实现登录注册的功能
  3. uniapp连接mysql数据库
  4. 俞老师在同济大学的演讲词:度过有意义的生命
  5. 什么是软件工程方法学?软件工程是一种什么样的技术?包括哪三大 要素
  6. popupwindow 不抢夺焦点_戴安娜王妃自传电影即将开拍,女主角选定!网评:气质不一样!...
  7. 中望3D2022 对齐坐标移动(坐标系到坐标系)
  8. apache-虚拟主机配置(2.4.6)
  9. What is Logo?
  10. 在Python字符串里嵌入双引号或者单引号