美文网首页CTF
[安洵杯 2019]easy_serialize_php之愚见

[安洵杯 2019]easy_serialize_php之愚见

作者: 天水麒麟儿_ | 来源:发表于2020-01-18 22:36 被阅读0次

三句题外话,第一句是终于放假了,在考试周活了下来,最后一周面临3门考试,我仍然做了2道比较基础的题目,现在重做一下顺便写wp,不敢说是热爱,勉强说是兴趣,矢志web。第二句是感谢通信原理老师给了我过,对于从没接触过通信的我来说,上课完全听不懂,最后靠党性,衷心感谢老师。第三句,寒假还是要学点习的(坐等真香),尤其是追求自己的喜欢的。

进入正题,打开即是源码,

将参数f改成phpinfo即可调用phpinfo()函数,看到几个比较敏感的点,

我想到了几个问题:

1.源码里,没有session_start(),phpinfo()里,session.auto_start也是off的,这样的话,在session这个问题上,每个页面顶多只能读取本身页面的$_SESSION数组。所以对于本题来讲应该只需要对这个页面做文章,不用想别的页面了。我们要搞清楚PHP中session机制的工作流程,同时我们也要明白这个题目里根本没有读取session文件,这个题只是把$_SESSION数组进行了serialize(),这种地方不要因为看到php处理器而犯迷糊。

2.虽然使用的是php处理器,但按上面所讲显然不存在解析器差异带来的对象注入问题;

3.过滤函数filter()是对serialize($_SESSION)进行过滤,滤掉一些关键字

4.正常传img参数进去会被sha1加密,我认为这里应该不存在有一个字符串,它sha1加密后的结果能与dog_flag.php这种名字碰撞,故我们应该用别的方法控制$_SESSION中的参数;

5.引用一位大佬的一句话:任何具有一定结构的数据,只要经过了某些处理而把自身结构改变,则可能会产生漏洞。

本来挺好的序列化的字符串,按某种去掉了一些关键字,本身就不对,本身就涉及到可能破坏原有结构而无法正常反序列化的问题。这里是利用反序列化长度逃逸控制了img参数。之前有一道题目是关键字替换导致字符串长度变长,把后面的原有参数挤出去了,本题是关键字被置空导致长度变短,后面的值的单引号闭合了前面的值的单引号,导致一些内容逃逸。

正常的序列化字符串

因为我们能控制的是$_SESSION的参数,payload只能以字符串形式传进去,然后想办法将它前面的控制符  s:xx: 闭合到一个字符串中取,这样就能将后面的payload作为独立的一个键和值。

我们需要的序列化字符串的格式(为了便于截图已换行)

我们要注意一点,如果 s:40:被闭合了,前面的s:5:"xxxxx";s:40:"只是一个键,而没有值(先不考虑长度问题),会反序列化失败,所以我们的payload的里应额外包含一个键值对,

真正能发挥作用的字符串的格式

";s:64: 这几个控制字符长度为7,";s:7:"xxxxxxx"这几个控制字符(和数据)长度为13,为了将他们闭合进前面的字符串,

由外而内

由此以来的话,payload为

;s:14:"phpflagphpflag";s:7:"xxxxxxx";s:3:"img";s:20:"L2QwZzNfZmxsbGxsbGFn";}

传入即可,

心得:接触一个题时思路还是要发散的,通过题目去猜测出题人的引导,去排除,再加上多多积累多多见识多多实践,(不难的)题目一般都可以做。不得不说安洵杯的题确实比较友好,考点不难而且也比较直接,不拐弯抹角。

大胆应无惧,雄心誓不回

相关文章

  • [安洵杯 2019]easy_serialize_php之愚见

    三句题外话,第一句是终于放假了,在考试周活了下来,最后一周面临3门考试,我仍然做了2道比较基础的题目,现在重做一下...

  • [安洵杯 2019]easy_web之愚见

    最近身边碎事比较多,也面临期末考试月,周末抽空做了这个难度不大的题目,在这个过程中转过了一些弯,也遇到了一些问题。...

  • [安洵杯 2019]easy_serialize_php WP

    0x00 easy_serialize_php 打开题目查看源代码,不长,摘抄如下: 分析以上代码,提示f=php...

  • 第一届安洵杯writeup

    安洵官方writeup安洵writeup第一届安洵杯writeup MISC 幺元 booom 爆破 查看pass...

  • 安洵杯2019线下赛

    上周末回成都打了安洵,感谢大佬们带飞搞了个三等奖,下午茶很好吃,可乐很好喝,小姐姐也很好看,很快乐,于是来写个小总...

  • [安洵杯 2019]easy_web

    首先这个链接长得挺奇怪的,img参数后面跟的有点像base64编码。[图片上传失败...(image-dd83a9...

  • 安洵杯环境搭建

    Orz,其中有很多坑点,大佬们写的不是很全,所以本菜搭建起来踩坑了.... 有一些配置是需要改的,有的基本一查就查...

  • 安洵杯 2019-WEB-easy_web

    复现地址:https://buuoj.cn/challenges#[安洵杯%202019]easy_web 参考:...

  • 安洵杯2019-web部分题目复现

    发现buuoj上安洵2019的题目有现成的,不用在vps上搭了(第一题除外,搭好才发现......),刚好做做。 ...

  • 山海经之洵山、䍺、洵水、阏之泽、芘蠃

    读山海经解上古之迷七百二十:洵山、䍺、洵水、阏之泽、芘蠃 作者:大禹昆仑 日期:2019年7月2日 南山经南次二经...

网友评论

    本文标题:[安洵杯 2019]easy_serialize_php之愚见

    本文链接:https://www.haomeiwen.com/subject/bstlzctx.html