write-up(web)/webhacking.kr

[Webhacking.kr] Challenge old-61 write-up

ssongk 2022. 8. 14. 21:35

문제 화면입니다.

문제의 소스 코드입니다.

id가 admin이 나오면 문제가 풀립니다.

id에는 addslashes 함수가 걸려있고

\ ( ) select form , by . 에 대한 필터링이 걸려있습니다.

마지막으로 15문자를 넘어가게 되면 exit 됩니다. 

id 값으로 id를 입력해보니 test가 나왔습니다.

조건식을 넣어주면 1과 0으로 값이 나오기 때문에 다른 방법을 사용해야 합니다.

mysql에는 고정 값을 출력할 수 있습니다.

select '고정값' as 컬럼명

고정값과 컬럼명 모두 임의의 문자나 숫자를 입력할 수 있습니다.

앞에 고정값은 싱글쿼터로 감싸주어야하고

뒤에 컬럼명은 싱글쿼터 없이 작성해도 됩니다.

문제에서 싱글쿼터는 이스케이프 시켜버리므로 16진수를 사용해야 합니다.

admin => 0x61646d696e

쿼리로 select 0x61646d696e as id 를 입력해주면

길이 초과가 됩니다.

이 때, as를 빼고 한 번 넣어보자는 생각이 들어 시도해보니

문제가 풀렸습니다~

mysql에서 고정값을 출력할 때 as는 생략 가능한 것 같습니다.