Webhacking Writeup 61번 문제입니다.

아무것도 없으니 소스코드부터 보겠습니다.

코드를 해석하면
id를 입력하는데 addslashes함수로 싱글쿼터, 더블쿼터, 널, \ 를 치환해 한번 거름망 역할을 하고
필터링으로 괄호, select , from, 콤마, by , 점(.) 이 걸려있습니다.
또한 id의 길이는 15를 넘어서면 접근불가가 출력됩니다.
여기서 작성자가 느끼기에 가장 생소한건 select 다음으로 id가 있는점입니다.
평소에는 where 조건부분에 값을 입력하는 방식이였는데
어떻게 시작할지 몰라 지인에게 힌트를 조금 받았습니다.
select 구문을 좀더 공부해보라더군요
select에 대해 검색하다보니

값을 고정해서 출력하는 as 문을 찾을 수 있었습니다.
이 자료를 참고로 처음 세웟던 식은
id=0x61646d696e%20as%20id
였습니다.
admin을 문자열로 인식시킬 수 없다보니 16진수로 표현했고
as 사용을 위해 양측에 공백을 주었는데
글자 길이 15를 넘어 제한에 걸렸습니다.
그래서 as를 어떻게 사용해야하나 검색하다보니

as의 생략이 가능하더라구요
해서 이러한 SQL구문 구조를 활용해
아래와 같은 식을 세우고 제출해하니
id=0x61646d696e+id

문제가 해결되었습니다!
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup 21번 문제 (0) | 2022.08.16 |
---|---|
Webhacking Writeup 44번 문제 (0) | 2022.08.16 |
Webhacking Writeup 56번 문제 (0) | 2022.08.15 |
Webhacking Writeup 42번 문제 (0) | 2022.08.15 |
Webhacking Writeup 4번 문제 (0) | 2022.08.15 |