首页 > 其他分享 >HTB之Base(弱语言类型混淆&find提权)

HTB之Base(弱语言类型混淆&find提权)

时间:2024-12-23 14:45:15浏览次数:4  
标签:HTB 扫描 提权 Base login php 上传 find

Base

1. 信息收集

端口扫描:

子域名收集:

gobuster vhost --random-agent --append-domain -k -w "/usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt" -u "http://ip:port/path"

目录扫描:

dirsearch扫描结果

dirsearch比较适合扫描一些常规常见的文件

2. 访问

主页面

访问目录扫描发现的assets/,发现是一些静态资源

访问目录扫描发现的login/,发现三个文件

vim -r login.php.swp打开vim缓存文件,发现是源码

可以使用strings查看人类可读文本,能够看到更多内容: strings login.php.swp

虽然能看,顺序挺乱的,反过来了,用这个:tac login

3. 源码分析利用

从源码中分析登录验证机制:利用strcmp()函数逐字节比较,匹配后返回0

这里涉及到一个漏洞机制——类型混淆 (Type Juggling Bug)

  • 观察strcmp() 函数的行为

    strcmp() 是字符串比较函数,但会将非字符串参数转换为字符串。

      1. POST传入空值,参数为 NULL,会被视为空字符串 "",导致比较错误。
      2. POST传入username=""&password=""或username=&password=,在empty()函数处代码中断
      3. 如果参数为数组,会触发警告,但代码继续执行,成功绕过,跳转到upload.php
    

尝试上传php文件,上传成功

4. 文件上传利用

需要找到上传位置,才能进行漏洞利用,只能尝试再次深度扫描,尝试爆破出文件上传目录

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

成功找到上传位置

反弹成功

但权限太低

5. 提权

查找web服务目录下的线索

还真是john的密码

可以拿到user.txt

提权root

先查看可用权限

可以sudo find

find提权

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

拿到root权限

标签:HTB,扫描,提权,Base,login,php,上传,find
From: https://www.cnblogs.com/ki-playground/p/18617142

相关文章

  • AppDomain.CurrentDomain.BaseDirectory涵义
    AppDomain.CurrentDomain.BaseDirectory是获取基目录,它由程序集冲突解决程序用来探测程序集。由显示的路径可以看出,它代表的是程序集所在的目录,它具有读取和写入的属性。//获取程序的基目录。System.AppDomain.CurrentDomain.BaseDirectory//获取模块的完整路径。System.Diag......
  • 简化的架构治理:使用 NocoBase 构建应用程序目录
    这篇博客由LeandroMartins创作,并最初发表在使用NocoBase构建应用程序目录。本文的目标是展示NocoBase在无代码开发Web应用方面的潜力和易用性。作为一个案例研究,我将创建一个应用程序目录来辅助架构治理。此案例将使用NocoBase的功能,包括建模、安装、创建表格、菜单、......
  • #渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based S
    免责声明本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。目录一、基于时间延迟的SQL注入概述(一)原理(二)应用场景示......
  • jquery响应式弹出层lightbox插件slick-lightbox.js
    slick-lightbox.js是一款基于slick.js和jquery的响应式弹出层lightbox插件。该jquerylightbox插件支持图片懒加载,支持键盘交互,支持HTML5HistoryAPI等。功能非常强大。在线预览  下载 安装可以通过bower来安装slick-lightbox.js插件。bowerinstall-Sslick-lightbo......
  • CSharp: Connecting to Oracle 11g Database in C#
     usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;//usingOracle.DataAccess.Client;usin......
  • 手写一个base64解码的方法
    在前端开发中,虽然我们可以直接使用浏览器提供的atob函数来进行Base64解码,但如果你想要手写一个Base64解码的方法,以下是一个简单的实现:functionbase64Decode(input){constchars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';letst......
  • python: Connecting to Oracle 11g Database in Python
     #encoding:utf-8#版权所有2024涂聚文有限公司#许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎#描述:python-mpipinstalloracledb#python-mpipinstallcx_Oracle--upgrade#pipinstallcx_Oracle#Author:geovindu,GeovinDu涂聚文.#......
  • 在Linux系统上安装KVM(Kernel-based Virtual Machine)
    在Linux系统上安装KVM(Kernel-basedVirtualMachine)通常与安装libvirt一起进行,因为libvirt提供了对KVM的抽象和管理。以下是在基于Debian(如Ubuntu)和基于RPM(如CentOS/RHEL)的系统上安装KVM的步骤:基于Debian的系统(如Ubuntu) 1.更新包列表:【bash】sudoaptupdate 2.安......
  • DTS207TC Database Development and Design
    Modulecodeand TitleDatabase Developmentand Design ( DTS207TC)SchoolTitleSchoolofAIandAdvanced ComputingAssignmentTitle002:AssessmentTask 2 (CW)Submission Deadline23:59, 24th Dec (Friday)Database Deve......
  • ICASSP AEC BASELINE代码解读
    在这篇博客中,我们将深入探讨ICASSP2022会议上提出的AEC基线模型的实现。该模型旨在通过深度学习技术改善音频信号的质量,特别是在回声消除和噪声抑制方面。1.模型解析该模型使用ONNX格式进行推理,输入为麦克风(mic)和远端(far-end)音频信号,得到回声、噪声消除后的语音(vo......