首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux 提权各种姿势总结

提权可能需要反弹 bash ,因为脚本语言无法形成管道,需要创造一个管道才能进行后续操作,比如溢出成功之后返回一个 root 权限 shell,脚本语言执行完就完了,不会返回一个可以操作 root...但是 /etc/ 内系统计划任务可以被列出,并且默认这些程序以 root 权限执行 重写 python 若这些计划任务脚本可写,则编辑为 shell crontab 文件是计划任务配置,此文件只有.../sh 可获取 root 这里 cp 命令是基于 SUID,给 1.py 设置 SUID 权限。可以结合环境变量方式,把 /tmp/sh 添加到环境变量,无需进入 /tmp/sh 去执行 ....也可以在 1.py 写入反弹 shell python 代码,此时反弹 shell 具有 root 权限 1、tab 通配符 为了测试,我先手动添加一条任务,每隔一分钟打包 /aaa 目录下文件...linux 下执行命令,如 cat,是去环境变量查找 , cat 替换 测试: 把新建一个 /tmp/cat,而 cat 内容为我们脚本,当用户执行 cat 命令,cat /etc/shadow,则执行我们脚本

18.5K73
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 提权总结

,我们就可以脚本里添加如反弹shell等指令,从而提权 环境变量劫持 我们查看定时任务 发现定义了诸多环境变量,如果其任务有未指定绝对路径指令,如 17 * * * * root...shell.sh 而且我们在其环境变量路径可以进行写入操作,那么我们可以通过写入环境变量靠前路径一个同名恶意文件从而导致环境变量劫持 比如我们在/sbin 写入一个 反弹shell功能shell.sh...同时用户有修改自己环境变量权限, 我们就可以通过劫持system函数里调用脚本文件,使其指向我们环境变量里自行创建一个同名脚本文件,那么这个我们自行创建同名脚本文件就能以root权限运行了,如果这个脚本文件命令是...利用此特性我们可以读取系统敏感信息。 如果tar有此权限,我们可以通过此来查看敏感文件内容。.../tmp/nfs 挂载到共享目录 cp /bin/bash /tmp/nfs/bash chmod u+s /tmp/nfs/bash 设置共享目录上bashsuid 回到低权限机,执行 /tmp/

5.8K20

Shell脚本学习1

echo加了-e默认会换行 echo arg > myfile #显示结果重定向至文件,会生成myfile文件 注意: echo后单引号和双引号作用是不同 单引号不能转义里面的字符,双引号可有可无,单引号主要用在原样输出...说明: printf 命令不用括号 format-string 可以没有引号,但最好加上,单引号双引号均可 参数比格式控制符(%)多时,格式控制符可以重用,可以所有参数都转换 arguments 使用空格分隔...环境变量 :所有的程序,包括shell启动程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要时候shell脚本可以定义环境变量。...shell变量 :shell变量是由shell程序设置特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell正常运行。...若此替换出现在Shell脚本,那么脚本停止运行。 ${var:+word} 如果变量 var 被定义,那么返回 word,但不改变 var 值。

26120

Hyperledger Fabric(

一旦安装了前提条件,就可以下载并安装HyperLedger Fabric了,当我们在Fabric二进制文件上开发真正安装程序时,我们提供了一个可以示例、二进制文件和Docker映像安装到你系统脚本...,脚本还会将Docker映像下载到本地注册表。...Go版本1.10.x 假设我们将在Go编写链代码程序,有两个环境变量需要正确设置;你可以通过这些设置放在适当启动文件中使其永久存在,比如你个人~/.bashrc文件,如果你在Linux下使用bash...上面的命令下载并执行bash脚本,该脚本下载并提取所有平台特定二进制文件,你需要这些二进制文件来建立您网络,并将它们放到上面创建克隆repo,它检索下列特定于平台二进制文件: cryptogen...你可能想要将其添加到PATH环境变量,这样就可以在不完全限定每个二进制文件路径情况下获取这些环境变量

2.2K30

Arch下ESP8266开发环境搭建篇

通过一个简单示例,我们想说明如何使用ESP8266_RTOS_SDK(ESP-IDF风格),包括基于菜单配置,编译ESP8266_RTOS_SDK以及固件下载到ESP8266EX板上。...设置好环境后,您就可以开始最有趣部分-应用程序开发了。...此过程可以概括为四个步骤: 配置项目并编写代码 项目的编译并将其链接以构建应用程序 应用程序刷入(上传)到ESP8266EX 监视/调试应用程序 Linux工具链标准设置 安装先决条件 要使用ESP8266...解压样子 ? 工具链将被提取到~/esp/xtensa-lx106-elf/目录。要使用它,您将需要更新文件PATH环境变量~/.profile。...当您需要工具链时,可以get_lx106在命令行上键入,该工具链添加到您PATH。

1K30

Linux进程概念(三)

如果刚才写etv程序拷贝到/usr/bin 会不会与ls一样可以直接使用? 这样是可以,但是非常不建议,因为这个程序相当于安装到了系统,Linux下拷贝就是安装。...在打开Linux时候bash因为要处理用户命令,这些命令也是程序,运行程序需要指定路径,所以操作系统就提前这些指令路径放在了专属配置文件,在启动操作系统时这个文件导入内存形成一个内存级变量...那么最开始环境变量是怎么来呢? 这两个文件里面内容是脚本,内容就是环境变量导入当前shell(这个环境变量是内存级)。...,history) 环境变量相关命令 echo: 显示某个环境变量值(记得$) export: 设置一个新环境变量 env: 显示所有环境变量 unset: 清除环境变量 set...这是因为我们刚才定义变量是在bashbash是一个系统进程,我们etv是一个可执行文件,运行起来也是一个进程,就是bash子进程,刚才定义变量也叫本地变量,不具有全局属性,所以没有传到etv

52600

是不是Bash编程老司机,看完这10条细节就知道了

等号两边慎用空格 Bash 赋值语句通常都是这样: VARIABLE=2 然后我们通过 $VARIABLE 引用该变量。这里有一点非常重要,也极容易忽视就是:千万不要在等号两边空格。...一般常用 Bash 变量都是字符串,我很少见到有数组。另外,虽然解释器也接受小写,但 Bash 默认是变量名全部大写。 2....例如,想要查看 MYVAR 环境变量值,可以运行下面这条命令: echo "$MYVAR" 想要设置环境变量可以用这条命令: export MYVAR=2 需要注意是,一旦在进程设置环境变量,...那么这个环境变量会在所有与其相关子进程中生效,例如下面这个例子: export MYVAR=2; python test.py $MYVAR 环境变量也会在 test.py 脚本中生效。...此外还可以通过 set -o 显示所有可以设置选项。 这也是为什么许多 shell 脚本都以 set -eu 或者 set -eux 等做为开头原因,因为这样就可以脚本运行在更安全环境下。

1.1K71

Shell编程基础01

这种对话方式可以是: 交互方式:从键盘输入命令,通过/bin/bash解析,可以立即得到Shell回应....MHA高可用Perl写 Python,不但可以脚本程序开发,也可以实现web程序以及软件开发。近两年越来越多公司都会要求会Python。...开头版本版权等信息,可配置~/.vimrc文件自动添加。 脚本不要用中文注释,尽量用英文注释。...Bash内置环境变量 普通变量也可称为局部变量,只能在创建他们Shell函数或Shell脚本中使用。...书写crond定时任务时要注意,脚本要用到环境变量最好先在所执行Shell脚本重新定义。 如果希望环境变量永久生效,则可以将其放在用户环境变量文件或全局环境变量文件里。

44610

在k8s中上线gatling镜像并在内网发送流量

进阶流量压力测试镜像构造 下面的任务为: 在镜像文件配置环境变量,该变量最好是能够在docker build时候修改而不是要手动改写Docerfile,这样后续写bash脚本之类会比较方便。...这个脚本文件要能够读取环境变量来替换指定值。 命令直接设为指定发包命令。 环境变量配置 我看了一下,使用docker build参数方式似乎并不常见,而且其他方式也挺麻烦。...因此我直接使用了ENV Key=value形式(如果value中间有空格,两边要加上双引号) 脚本读取环境变量 scala脚本可以读取到环境变量,方法挺多。...这个方法缺点是如果环境没有设置环境变量会报错,不过这也不是什么大问题,毕竟在docker内部。 接下来就很简单了,这个值作为方法参数进行传递,然后把脚本送到指定位置。...我在思考有没有一种方式,能够一个gatling程序传到k8s集群,只需要通过网络端口向其上传配置文件、发送命令就可以调用指定压力测试脚本

71030

Bash 老司机也可能忽视 10 大编程细节

等号两边慎用空格 Bash 赋值语句通常都是这样: VARIABLE=2 然后我们通过 $VARIABLE 引用该变量。这里有一点非常重要,也极容易忽视就是:千万不要在等号两边空格。...一般常用 Bash 变量都是字符串,我很少见到有数组。另外,虽然解释器也接受小写,但 Bash 默认是变量名全部大写。 █ 2....例如,想要查看 MYVAR 环境变量值,可以运行下面这条命令: echo "$MYVAR" 想要设置环境变量可以用这条命令: export MYVAR=2 需要注意是,一旦在进程设置环境变量,...那么这个环境变量会在所有与其相关子进程中生效,例如下面这个例子: export MYVAR=2; python test.py $MYVAR 环境变量也会在 test.py 脚本中生效。...此外还可以通过 set -o 显示所有可以设置选项。 这也是为什么许多 shell 脚本都以 set -eu 或者 set -eux 等做为开头原因,因为这样就可以脚本运行在更安全环境下。

84860

管道符和作业控制,shell变量,环境变量配置

fg命令id号可以继续指定命令: ? 因为继续了第一个命令,所以还剩下两个命令被暂停着: ? fg命令不加id号则是默认继续最后那条命令: ? bg命令可以暂停命令转到后台去运行: ?...在命令末尾&符号可以一条命令丢到后台去执行: ? 命令在后台运行完之后会显示完成: ? 如果打开一个新终端是看不到另一个终端在后台执行命令: ? ?...取消变量:   unset命令后面跟变量名称,就可以取消掉这个变量值: ? 8.9 环境变量配置文件 ?...环境变量配置文件有两大类,一是系统层次维度配置文件在etc目录下,二是用户层次维度配置文件在用户家目录下。...profile文件是用户登录时候会加载到 bashrc文件是在用户、系统执行一些shell脚本时候会加载到 系统层次profile和bashrc文件一般情况下不要去动,如果要修改的话就修改用户层次

1.2K40

shell基础教程4-变量详细讲解

环境变量可以在命令行设置和创建,但用户退出命令行时这些变量值就会丢失,如果希望 永久保存 环境变量,可在用户 家目录 下.bash_profile或.bashrc(非用户登录模式特有,如远程SSH)...在环境变量放入上述文件后,每次用户登录时这些变量都将被初始化。 按照系统规范,所有环境变量名字均采用大写形式 。在环境变量应用于用户进程程序之前,都应该用export命令导出定义。...让环境变量永久生效 如果希望环境变量永久生效,则可以 环境变量 放在用户环境变量文件或全局环境变量文件里。 让环境变量永久生效常用设置文件 2.3.1....profile文件后,才会执行/etc/profile.d/目录下脚本文件,这个目录下脚本文件有很多; 之后bash 检查家目录$HOME下文件.bash_profile (用户环境变量文件)是否存在...书写crond定时任务时要注意,脚本要用到环境变量最好先在所执行Shell脚本重新定义。 如果希望环境变量永久生效,则可以将其放在用户环境变量文件或全局环境变量文件里。 3.

63220

在命令行调试 django 项目中模块方法

就是提示找不到对应配置。因为此时框架代码都没有启动,相应全局配置都没有加载到,自然是用不了model。...解决方案 这个方案主要采用还是python manage.py shell这个工具,利用环境变量来判断是否要执行调试代码。...首先,在配置文件设置环境变量,例如这里用到配置文件是settings.pyimport os os.environ['MODULE_DEBUG'] = 'off' # 默认框架启动时初始化为off,...即不启动 修改需要调试脚本判断逻辑,例如,apps/example/task.py改为 import pprint from models import User def get_user_info...']='on'\nimport apps.example.task"|python manage.py shell 通过管道命令方式就可以直接在命令行里执行这几句python语句,通过改变了环境变量然后再引入需要调试模块方式

4.2K00

《Linux命令行与shell脚本编程大全》 第六章环境变量

可以把新搜索目录添加到现有的PATH环境变量。比如: ? gcc hello.c -o xcy 一般只能 ./xcy   运行 但是加了环境变量之后就可以运行了。 但是切换到别的目录还是不行。...除非这么 ? ? 对PATH修改只能持续到退出或重启系统,不能一直持续。 6.6 定位系统环境变量 登入系统启动一个bash shell时,默认情况下bash会在几个文件查找命令。...bash shell提供BASH_ENV环境变量。当启动非交互式shell时,会检查BASH_ENV来查看要执行启动文件。如果有,shell会执行里面的命令。这通常包含shell脚本变量设置。...在/etc/profile  /etc/profile.d/*.sh  HOME/.bashrc  文件设置并导出了环境变量,用于执行脚本子shell能继承这些变量。...可以在/etc/profile.d 目录下创建一个.sh结尾文件,把所有新或修改过全局变量放在这个文件 存储个人永久性bash shell地方是HOME/.bashrc。

960100

windows10搭建nas详细(docker搭建开发环境)

1 准备要用到开发工具 使用到ODrive开发工具为: Python3: 用于运行工程构建脚本 ST-Link/V2 Drivers: STLink/v2编程器驱动 Git for Windows...点击红框 Install 安装 等待安装完成即可 5.3 配置 Visual Studio Code 默认终端 配置 Visual Studio Code 默认终端为 git bash 依次点击菜单...点击红框内 Git bash 即完成配置 注意: 配置完成后请关闭 Visual Studio Code 再进行下边步骤 6 配置 Tup 解压 tup-latest.zip 到任意位置,然后...到任意位置,然后 gcc-arm-none-eabi-7-2018-q2-update-win32\bin 地址添加到系统环境变量 Path 即可 8 配置 OpenOCD 解压 OpenOCD.zip...您可以在此处阅读有关Cortex-Debug更多信息:https://github.com/Marus/cortex-debug 确保固件源码文件夹作为当前文件夹 用最新固件加载到ODrive (如果使用调试模式可以不需要此操作

7K30
领券