php 7.4? 뭔지 모른다. 바로 코드를 보자
index.php는 정말 인풋 태그랑 submit 태그만 있어서 굳이 리뷰하지 않겠다.
check.php에서 입력값 검증 부분을 확인하자
// POST request
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$input_1 = $_POST["input1"] ? $_POST["input1"] : "";
$input_2 = $_POST["input2"] ? $_POST["input2"] : "";
sleep(1);
if($input_1 != "" && $input_2 != ""){
if(strlen($input_1) < 4){
if($input_1 < "8" && $input_1 < "7.A" && $input_1 > "7.9"){
if(strlen($input_2) < 3 && strlen($input_2) > 1){
if($input_2 < 74 && $input_2 > "74"){
echo "</br></br></br><pre>FLAG\n";
echo $flag;
echo "</pre>";
} else echo "<br><br><br><h4>Good try.</h4>";
} else echo "<br><br><br><h4>Good try.</h4><br>";
} else echo "<br><br><br><h4>Try again.</h4><br>";
} else echo "<br><br><br><h4>Try again.</h4><br>";
} else{
echo '<br><br><br><h4>Fill the input box.</h4>';
}
} else echo "<br><br><br><h3>WHat??!</h3>";
if 문 성립 조건을 보면
문자열 '8' 즉 정수값 56보다 이하라는 것이다.
그럼 "7.9"는 뭔대? -> 55 46 57
"7.A" = 55 46 65 이다.
그럼 우리는 55 46 58을 찾으면 7.: 이다
그럼 input2에 대해서
chr(73)을 해보면 I가 나온다. 그레서
7.: 과 II를 입력하면 정답을 찾을 수 있다.