메인화면입니다.

소스보기입니다.

1. id 값이 없으면 'guest'로 초기화

2. 특수문자 필터링

3. '(', ')', 'select', 'from', ',' , 'by', '\' 필터링

4. id의 길이가 15이상이면 Deny

5. 내림차순 id 추출

6. id가 admin 이면 성공

id를 입력해보겠습니다.

'test'라는 문자열이 찍히네요

select 컬럼명 from 테이블과 같은 구조에서 컬럼명 앞에 문자열이나 숫자가 들어갈 경우 해당 컬럼에 값이 출력됩니다.

예시를 위해 DB를 아래와 같이 구성했습니다.

[DB구성]

[문제 쿼리]

똑같이 'test'라는 문자열이 출력되네요

[인젝션 예시1]

컬럼앞에 1이라는 값을 넣었는데 id컬럼의 값으로 1이 출력되었습니다.

[인젝션 예시2]

이번엔 'admin'을 넣어봤습니다.

싱글쿼터의 경우 필터링이 되기 때문에 'admin'을 hex값으로 변환하여 인젝션을 시도하겠습니다.

[최종쿼리]

?id=0x61646d696e%20id

드디어 마지막 문제!!

챌린지 61 성공!

'WAR GAME > Webhacking.kr' 카테고리의 다른 글

[webhacking.kr] Level60 (old)  (2) 2020.04.28
[webhacking.kr] Level59 (old)  (2) 2020.04.28
[webhacking.kr] Level58 (old)  (2) 2020.04.28
[webhacking.kr] Level57 (old)  (2) 2020.04.28
[webhacking.kr] Level56 (old)  (7) 2020.04.28

+ Recent posts