【WEB】Polar靶场 6-10题 详细笔记

六.jwt

这题我又不会写

先来了解下jwt

**JWT(JSON Web Token)**是一种基于JSON的开放标准(RFC 7519),主要用于在网络应用环境间传递声明信息。JWT通常用于身份验证和信息交换,确保在各方之间安全地传输信息。一个JWT实际上是一个被编码的JSON字符串,包含了一系列声明。它由三部分组成:Header(头部)、Payload(载荷)[&和Signature(签名)&]。

JWT结构详解

Header(头部)

Header部分用于描述JWT的元数据,包括令牌的类型(JWT)和所使用的签名算法(如HMAC SHA256或RSA)。例如:

{

"typ": "JWT",

"alg": "HS256"

}

这个JSON对象会被Base64编码成字符串,形成JWT的第一部分。

Payload(载荷)

Payload部分存储要传输的信息,如用户的身份信息和一些声明。这里可以包含三种类型的声明:注册声明、公共声明和私有声明。例如:

{

"userId": "b07f85be-45da",

"iss": "https://provider.domain.com/",

"sub": "auth/some-hash-here",

"exp": 153452683

}

这部分信息也会被Base64编码,形成JWT的第二部分。需要注意的是,Payload中的信息是可以被任何人解码阅读的,因此不应该存放敏感信息。

Signature(签名)

Signature部分是对前两部分的签名,防止数据篡改。生成签名的方法是将编码后的Header和Payload以及一个密钥使用Header中指定的算法进行签名。例如,如果使用HMAC SHA256算法,签名会是这样的:

HMACSHA256(

base64UrlEncode(header) + "." +

base64UrlEncode(payload),

secret)

这个签名确保了JWT在传输过程中未被篡改。

一、JWT 的核心作用

1. 身份认证(Authentication)

2. 信息交换与授权(Authorization)

3. 安全传输数据

我的理解就是  JWT在这里起身份认证的作用,然后整个过程相当于垂直越权

先随便注册一个账号

然后登录,点击个人中心

F12,点击网络,搜索JWT

可以使用jwtcrack工具中的crackjwt.py脚本用字典爆破出密钥

jwtcrack工具免费下载

使用方法:

python   crackjwt.py   JWT   字典

得到密钥为 SYSA

 再把JWT放到在线解析网站(下面3个随便选一个即可)

jwt在线解析 - JSON工具

jwt解密/加密 - bejson在线工具

JSON Web Tokens - jwt.io

把username改为admin,把密钥改为SYSA ,然后进行编码

  

用编码后的JWT替换原来的JWT

得到flag 

flag{ec39c705cfb5295f9dddcedc819a1659}

七.login 

F12可以看到给了学号密码

学号密码提交20200101,显示提交成功,但没啥反应

提交20200102试试,发现显示了f

然后每次加1,把每次显示的 合在一起就是flag

flag{dlcg} 

八. iphone

进来后是这样的

翻译一下

【抱歉,管理菜单必须从 iPhone 或iPad 查看;】这句话是重点

这里又有个知识点了

User-Agent 

User-Agent 是 HTTP 请求头中的一个字段,用于标识客户端的设备、操作系统、浏览器等信息。服务器通过解析 User-Agent,可以判断访问者的来源,从而决定是否允许访问或提供特定的内容。

在网页爬虫中,默认的 User-Agent 通常会暴露爬虫的身份,导致被服务器拒绝访问(如返回 HTTP 403 错误)。通过修改 User-Agent,可以伪装成普通用户的浏览器,从而绕过限制。

如何获取网页的 User-Agent

在浏览器中,可以通过以下步骤获取 User-Agent:

  1. 打开目标网页,按下 F12 或点击浏览器右上角的“更多工具”选择“开发者工具”。

  2. 刷新网页后,选择“Network”选项卡,再点击“Doc”。

  3. 在右侧的“Headers”中,向下滚动找到 User-Agent 字段,复制其内容。

User-Agent 的组成结构

User-Agent 通常由以下部分组成:

  1. Mozilla/5.0:历史遗留部分,几乎所有 User-Agent 都包含此字段。

  2. 操作系统信息:如 Windows NT 10.0 表示 Windows 10 系统,X11; Linux x86_64 表示 Linux 系统。

  3. 引擎版本:如 AppleWebKit/537.36,表示浏览器的渲染引擎。

  4. 浏览器版本:如 Chrome/81.0.4044.113,表示浏览器的具体版本。

通过理解 User-Agent 的结构,可以根据需要自定义字段内容,以适应不同的爬虫场景。

 所有只需要通过修改 User-Agent,可以伪装成iphone用户的浏览器,从而绕过限制。

Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Mobile/15E148 Safari/604.1

轻松拿下

flag{ba4c2f175f0dba2f2974e676c6dfbbab}

 九.浮生日记

随便尝试的输入一些东西,还尝试了一些注入,但是没啥用

F12后有些新发现

其实上面也有 

弹个窗 ,让我想到了xss的一些知识

输入<script>alert(1)</script>试试,发现script没了,应该是被注释掉了

根据源代码先闭合value,然后再独立出一个script执行恶意代码

"><sscriptcript>alert(1)</sscriptcript>

这时候就会弹出来一个弹窗,点确认 

flag{747b11f075d2f6f0d599058206190e27}

十.$$ 

 又是php

解析一下

<?php
/*PolarD&N CTF*/highlight_file(__file__);  // 显示当前PHP源代码,方便审计
error_reporting(0);        // 关闭错误报告,防止信息泄露
include "flag.php";        // 包含存储flag的文件$a=$_GET['c'];             // 获取URL参数c的值if(isset($_GET['c'])){     // 检查参数c是否存在if(preg_match('/flag|\~| |\`|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\-|\+|\=|\{|\[|\;|\:|\"|\'|\,|\.|\?|\\\\|\/|[0-9]|\<|\>/', $a)){// 使用正则表达式过滤危险字符:// 包括flag字符串、空白字符、各种符号以及数字和HTML标签die("oh on!!!");  // 匹配到过滤字符时终止执行}else{eval("var_dump($$a);");  // 执行动态生成的PHP代码,使用变量变量语法}
}

GLOBALS 

GLOBALS 是 PHP 中的一个超全局变量(Superglobal Variable),其作用是提供对所有全局变量的访问。

总结:利用流程

  1. 用户访问 URL:http://example.com/index.php?c=GLOBALS
  2. 代码执行 eval("var_dump($GLOBALS);");
  3. var_dump() 输出所有全局变量,包括 $flag
  4. 用户从输出中提取 flag 值

 输入?c=GLOBALS

flag{9f8a2133f0cad361ff6d22a445c2531a}

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

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

相关文章

高阶亚马逊运营秘籍:关键词矩阵打法深度解析与应用

当竞争对手还在为单个大词竞价厮杀时&#xff0c;头部卖家已悄然构建了一张覆盖数千长尾关键词的隐形网络&#xff0c;精准触达每一个细分需求&#xff0c;以更低的成本撬动更高的转化率在亚马逊流量红利消退、广告成本高企的2025年&#xff0c;传统“爆款关键词”打法已显疲态…

【问题解决】org.springframework.web.util.NestedServletException Handler dispatch failed;

详细异常信息&#xff1a; org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter at org.springframework.web.servlet.DispatcherServlet.doDispatch(Disp…

【已解决】mac 聚焦搜索设置了edge 的地址栏搜索为google,还是跳转到百度

问题详情&#xff1a;在macbook的聚焦搜索中点击edge搜索的时候&#xff0c;跳转到了百度&#xff0c;即使已经将地址栏的搜索引擎设置为了goole&#xff0c;但是还是会跳转到百度。解决方案&#xff1a;1、打开safari浏览器。&#xff08;看清了&#xff0c;是打开Safari&…

MimicMotion 让你的图片动起来

MimicMotion 是由腾讯公司推出的一款人工智能人像动态视频生成框架。可以模仿视频动作再让图片模仿动作姿态&#xff0c;最后生成视频。 MimicMotion 的核心在于其置信度感知的姿态引导技术&#xff0c;确保视频帧的高质量和时间上的平滑过渡。 以前咱们也手搭过Animate-X让图…

云计算考核 - 分析电子银行需求采用微服务架构对系统进行设计

二、使用的技术以及分析 微服务&#xff08;Microservices&#xff09;是一种架构风格&#xff0c;一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署&#xff0c;各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在…

Ionic 安装使用教程

一、Ionic 简介 Ionic 是一个基于 Web 技术&#xff08;HTML、CSS、JavaScript&#xff09;的跨平台移动应用开发框架&#xff0c;结合 Angular、React 或 Vue 可快速构建 iOS 和 Android 应用。Ionic 提供丰富的 UI 组件、命令行工具及原生插件封装&#xff0c;广泛用于混合应…

渗透测试 - 简介

Web渗透测试简介 Web渗透测试&#xff08;Penetration Testing&#xff09;是一种模拟黑客攻击的安全评估方法&#xff0c;旨在发现Web应用程序中的漏洞&#xff0c;帮助开发者修复问题并提升系统安全性。它涉及主动测试目标系统&#xff08;如网站或API&#xff09;的弱点&am…

云原生AI研发体系建设路径

当AI遇上云原生&#xff0c;就像咖啡遇上牛奶&#xff0c;总能擦出不一样的火花 ☕️ &#x1f4cb; 文章目录 引言&#xff1a;为什么要建设云原生AI研发体系整体架构设计&#xff1a;搭建AI研发的"乐高积木"技术栈选择&#xff1a;选择合适的"武器装备"…

【网络安全】深入理解 IoC 与 IoA:从“事后识别”到“事前防御”

1. 简介 在网络安全领域&#xff0c;IoC&#xff08;Indicators of Compromise&#xff0c;入侵指标&#xff09; 和 IoA&#xff08;Indicators of Attack&#xff0c;攻击指标&#xff09; 是两个核心概念。它们是安全分析师识别攻击行为、调查事件、制定防御策略的重要依据…

贪心专题练习

牛牛学括号题目要求每次操作必须删除一个左括号和一个右括号&#xff0c;且删除后序列仍需合法。合法的括号序列要求每个右括号之前必须有对应的左括号。分析输入的都是合法的括号&#xff0c;即左括号右括号&#xff0c;可利用这一点去解题注意&#xff1a;中间取模是必要的&a…

屏幕分辨率修改工具 SwitchResX(Mac电脑)

苹果电脑屏幕分辨率修改工具&#xff0c;SwitchResX for Mac&#xff0c;可以为您提供控制显示器分辨率所需的工具和功能。 原文地址&#xff1a;屏幕分辨率修改工具 SwitchResX&#xff08;Mac电脑&#xff09;

【Java编程动手学】Java中的数组与集合

文章目录 一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问与修改元素1.2.3 数组遍历 1.3 二维数组1.3.1 声明与初始化1.3.2 访问与遍历 1.4 三维数组及更高维数组1.5 数组类(Arrays)1.5.1 常用方法 1.6 复制数组1.6.1 系统复制方法1.6.2 手动复制 二…

Linux在线安装docker

1.切换阿里云镜像源 备份原有 repo 文件 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载阿里云的 CentOS 7 repo 文件 sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 清华 sudo…

第十五节:第四部分:特殊文件:XML的生成、约束(了解即可)

如何使用程序把数据写出到XML文件中去 什么是约束XML的书写(了解即可) DTD约束文档的使用(了解即可) schema约束文档的使用(了解即可) 代码&#xff1a;如何使用程序把数据写出到XML文件中去 package com.itheima.day2_xml;import java.io.BufferedWriter; import java.io.Fil…

cd-agent更换cd模型(自用)

需求&#xff1a;将12服务器上&#xff0c;原有的cd-agent&#xff08;目录为/home/xgq/agent&#xff09;&#xff0c;复制一份&#xff0c;重命名为/home/xgq/agent_lx。之前的推理流程是A B两张图输进去&#xff0c;通过clip模型进行领域分类&#xff0c;若是遥感领域就用ch…

微信小程序31~40

1.事件绑定和事件对象 小程序中绑定事件没有on 方式&#xff0c;也没有click,小程序中可以用bind方法&#xff0c;click事件也需要用tap事件来进行代替。 绑定事件分为两种&#xff1a; bind:事件名&#xff0c;eg: <view bind:tap"fnName"><view/>bind事…

二叉树题解——二叉树的直径【LeetCode】

543. 二叉树的直径 一、算法逻辑&#xff08;逐步通顺讲解每一步思路&#xff09; &#x1f3af; 问题目标&#xff1a; 求二叉树中任意两个节点之间的最长路径&#xff08;以边数计算&#xff09;。 ✅ 1️⃣ 初始化变量 ans 用于记录目前遍历过程中的最大直径&#xff08;…

Android开发 Android10及10+读取外部存储问题

前提 &#xff1a; 在做文件遍历时&#xff0c;有的文件在Android10无法访问&#xff0c;在注册清单下添加android:requestLegacyExternalStorage"true"后可正常访问&#xff0c;但一直不知道具体原因。 使用XXPermissions时读到Android10分区存储后才明白这里的逻辑…

IP地理定位技术综述:理论、方法与应用创新(三)

[1]刘学婷,台文鑫,周帆,等.IP地理定位技术综述:理论、方法与应用创新[J].通信学报,2025,46(04):33-48. 2 IP地理定位应用场景 基于 IP 地理定位技术的特性和多样化应用场景,本文将其主要应用分为地理定位服务、网络安全与优化、网络空间测绘3类,如图7所示。基于IP地理定位…

16-C#生成DLL与调用

C#生成DLL与调用 1.2.3.4.5.将DLL文件复制到DEBUG下6.7.8.private void button79_Click(object sender, EventArgs e) {ClassLibrary1.Class1 testnew ClassLibrary1.Class1();UInt16 aConvert.ToUInt16(textBox67.Text);UInt16 b Convert.ToUInt16(textBox68.Text);label90.T…