반응형
문제 정보
문제 이름 : goblin
문제 설명
필터링이 싱글 쿼터, 더블쿼터, 백 쿼터까지 되어있다.
문제를 해결하기 위해서는 id가 admin이 되면 된다.
mysql where절에서 '문자열' 대신 문자열을 hex값으로 표기해도 인식이된다.
w3school 사이트에서 실습을 진행하였다.
https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_where
그림 2는 Customers 테이블에서 Country='Mexico'인 모든 칼럼들을 출력하는 sql문이다.
하지만 'Mexico'대신 hex로 변환한 0x4D657869636F값을 넣어도 성립을 한다.
위의 예시처럼 이 문제도 admin을 hex로 변환하여 입력을하면 mysql문을 처리를 할때 문자열 admin으로 인식을 하여 우회를 할 수 있다.
따라서 id='guest' and no = 0 으로 앞에 조건이 거짓이 되게 한 다음
거짓 or id = hex(admin)값을 넣으면 거짓 or 참이 되므로 id 가 admin인 참을 반환하여 문제를 해결할 수 있다.
admin 문자열을 hex로 변환을 하면 61646D696E가 나오는데 16진수 문자열로 인식시키기 위해서는 0x라는 표시를 해주어야한다.
따라서 payload는 아래와 같다.
?no=0 or id=0x61646D696E
반응형
'WEB hacking > LORD OF SQL INJECTION' 카테고리의 다른 글
[Lord of SQL Injection] darkelf 문제 풀이 (0) | 2023.04.08 |
---|---|
[Lord of SQL Injection] wolfman 문제 풀이 (0) | 2023.04.06 |
[Lord of SQL Injection] orc 문제 풀이 (0) | 2023.04.04 |
[Lord of SQL Injection] cobolt 문제 풀이 (0) | 2023.03.31 |
[Lord of SQL Injection] gremlin 문제 풀이 (1) | 2022.09.27 |