46번 문제와 똑같은 페이지가 나왔다.

 

<?php
  if($_GET['lv']){
    $db = dbconnect();
    if(preg_match("/select|or|and|\(|\)|limit|,|\/|order|cash| |\t|\'|\"/i",$_GET['lv'])) exit("no hack");
    $result = mysqli_fetch_array(mysqli_query($db,"select id from chall49 where lv={$_GET['lv']}"));
    echo $result[0] ;
    if($result[0]=="admin") solve(49);
  }
?>

코드를 보니, 입력 검증 select, or, and, (, ), limit, ,, /, order, cash가 있었다.
이 때문에 (, ,, )를 사용하는 46번 답은 검증에 걸린다.

 

그래서 이번 검증에는 Hex가 없어서 admin을 hex로 인코딩하여 요청하니, Flag를 얻을 수 있었다.

'워게임 > webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] Old - 3 Write Up  (0) 2021.05.28
[Webhacking.kr] Old - 60 Write Up  (0) 2021.05.27
[Webhacking.kr] Old - 46 Write Up  (0) 2021.05.27
[Webhacking.kr] Old - 11 Write Up  (0) 2021.05.27
[Webhacking.kr] Old - 7 Write Up  (0) 2021.05.26
복사했습니다!