-
[Webhacking.kr] Challenge 61Wargame/Webhacking.kr 2023. 4. 23. 08:05반응형
Challenge 61을 풀어보자.
문제 화면을 보면 별다른 힌트가 없다.
빠르게 페이지 소스를 보도록 하자.

<Challenge 61의 문제 화면> 페이지 코드를 보면, SQLi 문제라는 것을 알 수 있다.
addslashes로 인해 ', ", \, NULL을 필터링한다.
또한 (, ), select, fromm, 콤마, by, 온점 문자를 필터링하고 있다.
그리고 입력하는 id의 길이가 15자를 초과하면 Access Denied가 출력된다.
여기서 주의할 것은 where 절에서 입력을 받던 다른 문제들과 달리, select에서 입력을 받는다는 것이다.

<Challenge 61의 코드> 우선 어떤 id가 가장 먼저 출력이 되는지 알아보기 위해 'id'를 id의 값으로 넣어보았다.
그랬더니 'test'가 출력이 되었는데, order by id desc limit 1으로 인해 id의 역순으로 하나만 출력이 된다.

<id 입력 결과> 이 문제를 해결하기 위해서는, SQL 쿼리 문제를 많이 풀다보면 활용하는 alias 기능을 이용하면 된다.
그런데 쿼터들을 입력할 수 없으니, 문자열로 'admin'이 아닌 hex 값으로 입력을 해주도록 하자.
id의 값으로 admin의 hex 값인 0x61646d696e를 입력하고 as id를 입력해주면 문제가 해결된다.
그런데, 이렇게 입력하면 id의 길이가 15자를 초과하므로 as 없이 공백 후 id를 입력해주면 문제가 해결된다.


<Challenge 61 문제 완료> 반응형'Wargame > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge 20 (0) 2023.05.07 [Webhacking.kr] Challenge 36 (0) 2023.04.23 [Webhacking.kr] Challenge 47 (0) 2023.04.23 [Webhacking.kr] Challenge 25 (0) 2023.04.23 [Webhacking.kr] Challenge 19 (0) 2023.04.23