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然后直接把程序放里面运行然后再发现乱码问题而 ...
随机推荐
- 关于Cloudfront能否接入NLB的讨论
之前讨论过四层应用 是无法通过七层负载负载均衡器转发流量的,因为ALB监听的是Http/s协议,TCP/UDP的请求到了ALB无法识别,ALB在第七层做判断,数据包只有四层,会无法判断转发的目标.相反 ...
- .Net Core 中的选项Options
.NetCore的配置选项建议结合在一起学习,不了解.NetCore 配置Configuration的同学可以看下我的上一篇文章 [.Net Core配置Configuration源码研究] 由代码开 ...
- java 多线程Thread和Runnable的区别
如果一个类继承Thread,则不适合资源共享.但是如果实现了Runable接口的话,则很容易的实现资源共享 实现Runnable接口比继承Thread类所具有的优势:1. 适合多个相同的程序代码的线程 ...
- GC-优化-案例
优化案例 Service S 优化 现在看一下执行jstat -gcutil的结果 S0 S1 E O P YGC YGCT FGC FGCT GCT 12.16 0.00 5.18 63.78 20 ...
- RSTP
一.STP协议的缺点,存在的问题 STP 协议工作时间收敛慢,响应时间长---------->RSTP 原始的802.1d(stp)不支持多个vlan---->(PVST===>把一 ...
- linux性能瓶颈排查--内存+cpu+网络+磁盘+应用瓶颈
概述 作为运维人员,肯定遇到过以下场景,应用突然卡住了,或者异常退出,cpu占用过高等各种异常情况,一般遇到这些异常情况,该如何去查找具体原因呢? linux和jdk提供了一些命令和工具来查看内存.c ...
- Java空指针异常:java.lang.NullPointerException解决办法
问题描述:运行maven项目抛出NullPointerException 空指针异常. 报空指针异常的原因有以下几种: 1字符串变量未初始化 例如:String x=null:对象x为null, ...
- 合并区间 leetcode
描述: 给出一组区间,请合并所有重叠的区间. 请保证合并后的区间按区间起点升序排列. 输入: [[10,30],[20,60],[80,100],[150,180]] 输出: [[10,60],[80 ...
- C# 获取动态类中所有的字段
/// <summary> /// 动态类 获取字典集合 /// </summary> /// <typeparam name= ...
- 通宵修复BUG的思考
HYH.LXJ昨晚通宵修复11月版需求的bug,因为代码提到测试环境后,阻碍了一个分行进行验收测试,业务人员直接把问题反馈给了上级领导,压力下来,项目组就把问题重视起来. 对于通宵加班这件事,应该点赞 ...