1) 입력한 값(no)은 GET 방식으로 전달된다.
2) no 에 # , select , ( , 공백 , limit , = , 0x 가 있으면 필터링된다.
3) 입력한 값은 select id from chall27 where id='guest' and no= ←여기에 들어간다.
4) SQL Injection을 통해서 id가 'admin'일 때의 결과가 나오게 하면된다
no에 1을 입력하니 위와 같은 결과가 나왔다.
문제를 해결하기 위해 우리는 2) or no=2-- 에 해당하는 값을 입력해야 한다.
URL 필터링을 우회+문제 풀이를 위해 아래와 같이 작성했다.
- 첫 번째 시도 : no=2%29%09or%09no%09%3D2--
- 두 번째 시도 : no=2%29%09or%09no%09like%092--
- 세 번째 시도 : no=2%29%09or%09no%09like%092--%09
=를 우회하기 위해 %3D를 입력했는데 계속해서 no hack이 떠서
like를 이용했다. 그치만 query error가 계속 떠서
혹시나 하는 마음에 맨 뒤에 공백을 하나 더 넣었더니 풀렸다.
'WEB > WEB Hacking' 카테고리의 다른 글
[Webhacking.kr] Challenge(old) 36번 풀이 (0) | 2021.06.03 |
---|---|
[Webhacking.kr] Challenge(old) 33번 풀이 (0) | 2021.06.02 |
[Webhacking.kr] Challenge(old) 26번 풀이 (0) | 2021.05.30 |
[Webhacking.kr] Challenge(old) 25번 풀이 △ (0) | 2021.05.30 |
[Webhacking.kr] Challenge(old) 20번 풀이 (0) | 2021.05.23 |