[CISCN2021] 初赛 easy_source
Posted F1gh4
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的主要内容,如果未能解决你的问题,请参考以下文章