BUU-日刷-[BMZCTF]端午就该吃粽子_

访问/login

BUU-日刷-[BMZCTF]端午就该吃粽子_

 

 发现一个登入框,但是点击发现无法提交

BUU-日刷-[BMZCTF]端午就该吃粽子_

 

 观察路径发现:http://www.bmzclub.cn:20607/login.php?zhongzi=show.php

猜测是任意文件读取

尝试访问/etc/passwd

BUU-日刷-[BMZCTF]端午就该吃粽子_

 

 

下面就是考虑日志文件包含

index.php,无法读取。考虑伪协议

BUU-日刷-[BMZCTF]端午就该吃粽子_

 

 解码:

<?php
error_reporting(0);
if (isset($_GET['url'])) {
  $ip=$_GET['url'];
  if(preg_match("/(;|'| |>|]|&| |python|sh|nc|tac|rev|more|tailf|index|php|head|nl|sort|less|cat|ruby|perl|bash|rm|cp|mv|\*)/i", $ip)){
      die("<script language='javascript' type='text/javascript'>
      alert('no no no!')
      window.location.href='index.php';</script>");
  }else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
      die("<script language='javascript' type='text/javascript'>
      alert('no flag!')
      window.location.href='index.php';</script>");
  }
  $a = shell_exec("ping -c 4 ".$ip);
  echo $a;
}
?>

发现是get传入url的命令执行

但是过滤了不少东西

但是不是很难绕,第一层没过滤|,cat可以用od,tail或者ca\t之类的绕过

空格用$IFS,至于flag用/????

BUU-日刷-[BMZCTF]端午就该吃粽子_

 

上一篇:BUU-日刷-[WUSTCTF2020]朴实无华_套娃/intval函数


下一篇:PHP中die()和sleep()函数知道怎么用吗?