old-13 (1000)

첫 화면이다.

1이나 true 등 참값을 입력했을 때 아래와 같이 보여진다.

참이 아닌 값을 넣었을 때는 result가 0이 나오거나 아무 반응도 없다.

이를 통해 본 문제는 Blind SQL Injection과 관련된 문제라고 추측할 수 있다.

testinput 을 입력하고 제출하면 URL이 아래와 같다.

https://webhacking.kr/challenge/web-10/?no=testinput

URL의 no 에 ​몇 가지 값을 계속 대입해보니 아래와 같은 화면이 나타나며 필터링 되는 경우가 있었다.

필터링 되는 값들은 다음과 같다. (대소문자 구별 X)

  • {SPACE}

  • {TAB}

  • =

  • >

  • <

  • /

  • *

  • 0x

  • LIKE

  • ASCII

  • WHERE

  • GROUP

  • LIMIT

  • UNION

필터링을 피해 파이썬으로 코드를 짜면 아래와 같다.

쿼리에 MINMAX 를 적절히 넣어가며 값을 확인해 최종 실행결과가 맞게 나오는 조건을 찾았다.

최종 실행결과는 FLAG{challenge13gummyclear} 이고, 이를 폼에 넣고 Auth 버튼을 클릭하면 문제가 풀린다.

Last updated

Was this helpful?