CTF论剑场web题目(持续更新)--WEB21
web21
首先声明,这道题我自己没做出来,代码审计的题除非特别简单,要不对于我这萌新来说,都和看天书一样,这道题是参考大佬的
参考链接:https://blog.****.net/weixin_45940434/article/details/104031504
再次感谢大佬!!!
首先打开页面,查看网页源代码:
这里是一个PHP伪协议,使用文件包含,构造payload:
POST传入参数**(但是我不知道为什么是POST传参,有知道的大佬麻烦给我留言,万分感谢!!)**
base64解码得到index.php真正的源代码:
接下来查看class.php的源代码:
在index.php的源代码里,第一个箭头是正则表达式,告诉我们如果file匹配了f1a9,就退出,第二个箭头是反序列化pass这个变量,接着在class.php源代码里告诉了我们如何构造pass变量的序列化:
接着我们构造payload:
接着查看源代码,flag就在里面:
注:不知道为什么,谷歌浏览器的hackbar做不了这个,POST传参传不上去,我用了火狐浏览器的一个专版,其次这道题包含了很多知识,对于本人来说有点拔高了,代码审计的功力真的不是一两个月就可以的,我接触CTF刚刚三个月,从零基础开始,代码审计这样的题对我来说很难,所以我在这个平台上做题的时候,就想到了自己写write up ,来加深自己的印象,不对的地方还请大家多多指正!!
注:萌新第一次写write up,不足之处还请见谅,不对之处欢迎批评指正。