SharkCTF2021 easy_phpserialize题记
***先说教训:
(1)不要看到正则就走不动路;有些正则不一定能绕。
(2)__wakeup()漏洞在php5.6以上就被修复了; 本地复现各种题目时要注意环境。
————————
扫描,得到index.php~中源码;得知flag.php存在。

从底下看起;首先看似要绕一个正则,但实际上前面是$_GET,后面变成了$_REQUEST;
且Request_order默认配置:

“GP”指$_REQUEST包含$_GET和$_POST,但不包含$_COOKIE;且同一名称P会覆盖G(先读G)。
因此,GET中的exp只需要随便输一个值就行了;真正的payload留到POST中。
<!--
顺便说一下这个过滤 /.?f.?l.?a.?g.?/i :
此处的" . "和" ? "都是元字符。
" . "匹配除换行符(\n,\r)之外的全部字符;
" ? "匹配前面的子表达式零次或一次。
此处,前面的子表达式就是那个点;也就是说,正常的“flag”或“xfxlxaxgx”之类的文字都会被替换。
若x为%0a,确实不会被替换,但是也读不到flag文件:诸如换行符,/**/之类的东西一般只用于在注入 语!句!中替代空格或者防过滤,放在文件名里显然会改变文件名。
所以此处好像绕不了》?
-->
接下来,搓序列的时候记得对象数搞多一点绕__wakeup();题目过滤了文件中的大括号,那么就写个脚本逐字读。
自动化payload:
'O:10:"FileReader":4:{s:8:"Filename";s:8:"flag.php";s:5:"start";i:%d;s:10:"max_length";i:1;}'%(i)


SharkCTF2021 easy_phpserialize题记的更多相关文章
- SharkCTF2021 fastcalc题记
web --> python脚本编写练习. 直接访问发现全是乱码: 看包发现Content-Type里面没有charset=utf-8. 于是用python访问一下,用.encoding='ut ...
- SharkCTF2021 bbpop题记
一道挺好的web. 做完这一题,感觉php序列化(甚至魔术方法)之类的有点开始玩明白了. 题面很长: 预备知识: PHP类的方法中,有一部分以下划线开头的"魔术方法".不同于普通方 ...
- SharkCTF2021 bybypass&baby_phpserialize题记
(国庆褪10天了 先水一篇) bybypass: payload:?anime_is_bae=hehellotherehoomanllotherehooman baby_phpserialize ro ...
- kendo-ui学习笔记——题记
1.Kendo UI基于最新技术HTML5.CSS3和JavaScript标准设计开发.2.官方网址:http://www.kendoui.com/3.API网上查阅英文版网址:http://docs ...
- NOIp 0924 水题记
这场貌似是gcd专场? 第一题很有意思,模拟gcd的过程即可. //0924 candy //by Cydiater //2016.9.24 #include <iostream> #in ...
- 使用Netty收发二进制报文问题记
1.java二进制编解码 byteBuffer.flip() byteBuffer.getInt() 与 byteBuf.getInt(11) 2.粘包拆包问题 LengthFieldBasedFra ...
- 51nod水题记
妈呀51nod已经刷不动了又开始跟bzoj一样总是得看题解了...那么发一下总结吧... 1051:最大子矩阵 #include<cstdio> #include<cstring&g ...
- 把这两天遇到的码(e)农(xin)题记下来
1019: [SHOI2008]汉诺塔 1858: [Scoi2010]序列操作 1058: [ZJOI2007]报表统计
- 2014第一周五开发问题记URL传参乱码等
今天修改了页面中URL传中文参数乱码问题,本来远离通过在tomcat中配置URIEncoder是可以解决所有乱码问题的,但怕以后有人下载一个新的tomcat然后直接把程序放里面运行然后再发现乱码问题而 ...
随机推荐
- Python之requests模块-hook
requests提供了hook机制,让我们能够在请求得到响应之后去做一些自定义的操作,比如打印某些信息.修改响应内容等.具体用法见下面的例子: import requests # 钩子函数1 def ...
- 哲学家就餐问题-Java语言实现死锁避免
哲学家就餐问题-Java语言实现死锁避免 我死锁预防是至少破坏死锁产生的四个必要条件之一,带来的问题就是系统资源利用率低且不符合开发习惯,而死锁避免不是事先釆取某种限制措施破坏死锁的必要条件,只是注意 ...
- ELK 收集 Tomcat日志以及修改Tomcat日志格式
ELK 收集 Tomcat日志以及修改Tomcat日志格式 Tomcat日志 想要收集tomcat 日志 首先我们要对tomcat的日志有足够的了解 tomca日志分类 简单的说tomcat logs ...
- 单片机学习(十二)1-Wire通信协议和DS18B20温度传感器
目录 一.DS18B20 1. DS18B20简介 2. 电路原理图 3. 内部结构 内部完整结构框图 存储器结构 二.单总线(1-Wire BUS) 1. 单总线简介 2. 电路规范 3. 单总线的 ...
- NOIP模拟13「工业题·卡常题·玄学题」
T1:工业题 基本思路 这题有一个重要的小转化: 我们将原来的函数看作一个矩阵,\(f(i,j-1)*a\)相当于从\(j-1\)向右走一步并贡献a,\(f(i-1,j)*b\)相当于从\(i-1 ...
- 远程线程注入DLL
远程线程注入 0x00 前言 远程线程注入是一种经典的DLL注入技术.其实就是指一个新进程中另一个进程中创建线程的技术. 0x01 介绍 1.远程线程注入原理 画了一个图大致理解了下远程线程注入dll ...
- Linux详细安装流程(直接看图)
准备工作:一台电脑.sentOS镜像文件. 一.首先打开虚拟机,点击文件--新建虚拟机 二.选择自定义,然后点击下一步
- CTFd+ubuntu service搭建等待更新
CTFd是一款基于Apache2.0的协议的开源CTF平台,最新版本目前为1.20.该平台功能强大,基本上能够满足目前的CTF竞赛需求,同时,该平台提供了强大的插件功能,可以自己进行插件开发实现自己的 ...
- 使用Jmeter过程中遇到的问题
学习接口自动化测试框架或工具,UI自动化测试框架或工具,有时会觉得知识似乎比较零散,死记硬背不是一个好方法.一个学习的思路是思考使用这些框架或工具的时候,可能会遇到什么问题,遇到这些问题可以通过什么方 ...
- MySQL之索引复合索引有效性
首先这里建立一张数据表,并建立符合索引( index_A,index_B,index_C) CREATE TABLE `test_index_sequence` ( `Id` int(11) NOT ...