-
<Webhacking.kr> old-18Wargame/Webhacking.kr 2021. 11. 30. 19:11
old-18
SQL Injection 문제인 듯 하다.
view-source를 통해 페이지 소스 코드를 살펴보면
전달받은 no에서 공백, /, (, ), |, &, select, from, 0x를 필터링한다.
id가 admin이면 문제가 풀린다.
admin의 no가 2라고 힌트가 주어져 있다.
즉, select id from chall18 where id='guest' and no=0 or no=2의 형태로 만들면 된다.
빨간 부분은 테이블에 없기 때문에
select id from chall18 where no=2의 형태가 된다.
위의 쿼리를 수행하면 id가 admin이 된다.
공백을 필터링하기 때문에 %09로 우회했다.
입력 창에 %09를 입력하면 %2509로 바뀌어 입력되고 GET 방식이므로 URL 창에 바로 입력했다.
따라서, ?no=0%09or%09no=2를 URL 창에 입력하면 문제를 풀 수 있다.
'Wargame > Webhacking.kr' 카테고리의 다른 글
<Webhacking.kr> old-20 (0) 2021.12.02 <Webhacking.kr> old-19 (0) 2021.12.01 <Webhacking.kr> old-17 (0) 2021.11.30 <Webhacking.kr> old-16 (0) 2021.11.30 <Webhacking.kr> old-15 (0) 2021.11.29