ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Renewal] webhacking.kr old-7 [300]
    $ 웹 해킹 $/webhacking.kr 2019. 12. 3. 18:34

     

    소스코드를 확인해 보겠습니다.

     

    일단 rand함수로 값을 뽑아서 각각의 값과 같으면 nice try! 라는 문자열을  출력합니다.

    그렇기 때문에 성공가능한 쿼리문을 뽑는것도 1/5 확률이기 때문에 반복실행을 통해서 rand함수와 맞춰야한다는것을 알 수 있습니다.

     

    그리고 $data변수를 이용한 조건문이 많습니다.

    $data 변수에는 mysqli_fetch_array($result); 함수가 들어가기 때문에 성공한 쿼리문의 결과값이 저장되는 변수 입니다.

     

    mysqli_fetch_array() 함수의 반환값을 알아보기 위해서 한번 예시를 제작해 보겠습니다.

     

    위의 코드에서 $data를 출력해 보면 아래와 같습니다.

     

    그렇기 때문에 여기서 $data[0] 를 사용하는 것 입니다.

     

    결국엔 lv= $go 에서 2를 만들어야 합니다.

    ?val 파라미터를 이용해서 한번 $data[0] == 2 를 참값을 가져오는 쿼리문을 작성해 보겠습니다.

     

    띄어쓰기를 해도 Access_Denied! 가 출력이 되기 때문에 괄호로 우회를 하고 2라는 숫자를 5-3 같은 연산으로 하려 했지만 -, + 와 같은 사칙연산은 필터링 되고 있기 때문에 문자열 "2"를 char함수를 이용해서 우회해서 넣었습니다.

     

    nice try! 를 출력했지만 Clear가 되지않았습니다.

    여러번 반복을 해보면 Clear가 가능합니다.

    댓글

Designed by Tistory.