PHP_Code_Challenge-16-Scientific Count & 00 truncated ereg

Titulo

<?php
if (isset($_POST["submit"]))  
{
  if (isset($_POST['hihi']))
  {
    if (ereg("^[a-zA-Z0-9]+$", $_POST['hihi']) === FALSE)// 只能有数字字母,00截断?
    {
      exit('<script>alert("have fun:)")</script>');
    }
    elseif (strlen($_POST['hihi']) < 11 && $_POST['hihi'] > 999999999)//至多10位,要大于999999999[9位],科学计数法?
    {
      if (strpos($_POST['hihi'], '#HONG#') !== FALSE)
      {
        if (!is_array($_POST['hihi'])) {
        include("flag.php");
        echo "Congratulations! FLAG is : ".$flag;
        }
        else
      {
        exit('<script>alert("nonono")</script>');
      }
      }
      else
      {
        exit('<script>alert("nonono")</script>');
      }
    }
    else
    {
      exit('<script>alert("sorry")</script>');
    }
  }
}
show_source(__FILE__);
?>

Análisis

  1. if (ereg("^[a-zA-Z0-9]+$", $_POST['hihi']) === FALSE)
    Solo puede tener letras numéricas
  2. elseif (strlen($_POST['hihi']) < 11 && $_POST['hihi'] > 999999999)
    Como máximo 10 dígitos, mayor que 999999999 [9 dígitos]
  3. if (strpos($_POST['hihi'], '#HONG#') !== FALSE)
    Tener#HONG#
  4. Integral
    1+ 2=> notación científica, 1e9 = 1000000000 [10 bit]
    1+ 3=> eregpuede ser de corte 00, eregpara identificar 1e9%00#HONG#la %00secuencia considerada ha terminado, en línea con la parte delantera del 1E9 regulares

Punto de conocimiento

Notación científica

1e9 = 1000000000

Dos puntos de atención de la función ereg [% 00 y matriz como parámetros]

eregLa función tiene dos puntos de atención.

  1. Puede ser NULLtruncado carácter, es decir, %00corte, para identificar %00el final de la cadena que
  2. Sólo se puede manejar cadenas, que viene a través de una serie de parámetros para volver NULL
    , si está utilizando eregel filtro, puede utilizar una gran variedad de pase y el 00 de derivación de corte por alto
    como
<?php
$_FILES["name"]="1.jpg%00.php";
if(ereg(".jpg$",$_FILES["name"]) === 1)
{
    echo "upload success!";
}
<?php
//传数组,ereg返回NULL,!==False
if(ereg("admin$",$_POST["name"]) !== False)
{
    echo "success!";
}

Solución

submit=1&hihi=1e9%00#HONG#

Supongo que te gusta

Origin www.cnblogs.com/Rain99-/p/12726630.html
Recomendado
Clasificación