-
[Webhacking.kr] Challenge 18Wargame/Webhacking.kr 2023. 4. 9. 10:41반응형
Challenge 18을 풀어보자.
문제 화면을 보면 노골적으로 SQLi 문제라는 것을 알 수 있게 한다.
소스 페이지를 보는 링크가 있으므로, view-source를 보도록 하자.

<Challenge 18의 문제 화면> no 파라미터에 값을 넣어 공격을 수행할 수 있을 것 같다.
그런데 preg_match에 다른 필터링도 있지만, 공백과 괄호를 필터링 중이다.
이것을 우회할 수 있는 쿼리를 입력해야 문제를 해결할 수 있다.

<Challenge 18의 소스 코드> 공백 필터링을 우회하는 많은 방법들(%09, %0a, %0b, %0d, /**/, ...)이 있다.
그 중에서 %0a를 이용해 이번 문제를 해결해보도록 하겠다.
우선 기존에 입력되어 있던 select 문의 where 조건의 and 를 끝내기 위해 ''(%27%27)을 입력했다.
그 후 %0a로 줄을 바꾸면서 입력을 진행하였다. (%0aor%0a)
다음으로 id 파라미터에 'admin'을 입력해주고, and와 no=2를 추가해주었다.
마지막 %23은 '#'으로 주석 처리를 하는 기호인데, 없어도 되지만 습관적으로 입력을 해버렸다.
이렇게 쿼리를 작성해 url에 입력을 해주면 문제가 해결된다.

<Challenge 18 문제 완료> 반응형'Wargame > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge 38 (0) 2023.04.09 [Webhacking.kr] Challenge 24 (0) 2023.04.09 [Webhacking.kr] Challenge 17 (0) 2023.04.09 [Webhacking.kr] Challenge 14 (0) 2023.04.09 [Webhacking.kr] Challenge 54 (0) 2023.04.01