호그와트

$title 치킨 소스

영웅*^%&$ 2022. 11. 15. 15:02
728x90

Tryhackme En-pass를 보면 다음과 같은 코드가 나온다 
이 부분에 대해서 간략히 분석해보면, 일단 우리의 입력값($title)에 alphanumeric characters이 들어가면 안 된다는 것을 알 수 있다. 우리의 입력값은 9개여야하고 첫 인자는 2개의 길이 마지막 인자는 3개의 길이를가져야 한다. 그리고 6번째가 마지막과 값이 다르고 4번째가 8번째 것과 값이 달라야 하며 각 입력값을 bool 연산을 해서 합쳤을 때 9가 나오면 된다. 

<?php
if($_SERVER["REQUEST_METHOD"] == "POST"){
   $title = $_POST["title"];
   if (!preg_match('/[a-zA-Z0-9]/i' , $title )){
          $val = explode(",",$title);
          $sum = 0;
          for($i = 0 ; $i < 9; $i++){
                if ( (strlen($val[0]) == 2) and (strlen($val[8]) ==  3 ))  {
                    if ( $val[5] !=$val[8]  and $val[3]!=$val[7] ) 
                        $sum = $sum+ (bool)$val[$i]."<br>"; 
                }
          }

          if ( ($sum) == 9 ){
              echo $result;//do not worry you'll get what you need.
              echo " Congo You Got It !! Nice ";
            }
                    else{
                      echo "  Try Try!!";
                    }
          }
          else{
            echo "  Try Again!! ";
          }     
  }

$title = ##,!,!,??,!,#,!,#,(((
$title = ##,!,??,#,$,^,&,*,###
$title = $$,!,@,#,$,^,&,*,###
$title = ##,@,!,##,!,??,!,?,(((
$title = ##,?,??,#,$,^,&,*,###
$title = ##,!,??,#,$,??,&,*,)))

728x90

'호그와트' 카테고리의 다른 글

우리 집에서 바이너리 보구 갈래?  (0) 2022.11.17
거북이의 습격  (0) 2022.11.16
config 뜻밖의 여정  (1) 2022.11.15
귀여운 bolt  (0) 2022.11.14
sql injection 별로 안 좋아하는 사람  (2) 2022.11.14