[CISCN2021] 初赛 easy_source

Posted F1ght!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[CISCN2021] 初赛 easy_source相关的知识,希望对你有一定的参考价值。

[CISCN2021] 初赛 easy_source

在这里插入图片描述
国赛,很有经历和意义,希望继续挑战
国赛和大家做的一道题,国赛比较难,只有现在有时间回过去看看:
在这里插入图片描述
进去后,界面大概如上图,
在这里插入图片描述
提示如上图:

猜测备份文件,实际上当时没扫描出来,试了.svn .swp .swo等,后来别个提示才发现:

实际上前面要加一个点,也就是.index.php.swo
在这里插入图片描述
在这里插入图片描述
现在看来应该去考虑php的原生类反序列化,是一个典型题目:

使用[反射类]new ReflectionClass("类名"),获得这个类的信息

参考:https://r0yanx.com/2020/10/28/fslh-writeup/

和:CTFshow100:
在这里插入图片描述
详情参考php的反射机制:
在这里插入图片描述
据题目提示,猜测flag在注释中,也就是所谓的看不到的地方。

直接用php内置类中的ReflectionClass读取User类中的信息:

利用该类返回,flag所在的函数的注释。

构造payload:

?rc=ReflectionMethod&ra=User&rb=a&rd=getDocComment

在这里插入图片描述
这样的话就相当于,(reflectionMethod(User,a) ->getDocConmment())

反射其注释

不知道在哪个函数里,所以就更改a,b,c进行抓包,猜测:

然后搞定:
在这里插入图片描述
建议看看CTFshow或者了解php的原生类导致的漏洞.

以上是关于[CISCN2021] 初赛 easy_source的主要内容,如果未能解决你的问题,请参考以下文章

[CISCN2021]初赛

CISCN2021初赛WriteUp

CISCN2021初赛WriteUp

[CISCN 2021] 部分 write up

[CISCN 2021] 部分 write up

[CISCN 2019 初赛]Love Math