-
[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가 가능합니다.
'$ 웹 해킹 $ > webhacking.kr' 카테고리의 다른 글
[Renewal] webhacking.kr old-9 [900] (7) 2019.12.03 [Renewal] webhacking.kr old-8 [350] (0) 2019.12.03 [Renewal] webhacking.kr old-6 [100] (0) 2019.12.03 [Renewal] webhacking.kr old-2 [500] (7) 2019.11.24 [Renewal] webhacking.kr old-5 [300] (0) 2019.11.19