728x90
반응형
LOS 5번 wolfman 풀이를 정리해 보았다.
5번 wolfman 문제는 크게 3가지 특징이 있다.
- GET방식으로 전달받는 pw 파라미터에 띄어쓰기를 사용할 수 없다.
- 실행시킬 쿼리의 where 구문 내 id컬럼이 'guest'로 고정되어 있고, 파라미터는 pw만 받는다.
- 풀이 방법은 여전히 쿼리 조회 결과 id 컬럼이 'admin'이어야 한다.
위 3가지 특징을 한 줄로 정리하면 'id가 guest로 고정된 상태에서 pw 파라미터를 이용해 띄어쓰기를 쓰지않고 공격하여, 조회된 id가 admin이 되도록 만들어라' 이다.
핵심은 바로 띄어쓰기만을 막았다는 데에 있다.
mysql에서 쿼리를 실행할 때, 공백의 역할을 하는것은 띄어쓰기 뿐만이 아니다.
mysql 클라이언트에서 쿼리 입력중에 엔터를 실수로 쳐본사람은 알겠지만, 엔터키 입력을 통한 줄바꿈도 공백의 역할을 할 수 있다.
즉, 띄어쓰기 대신 줄바꿈(%0a)를 이용해서 인젝션을 시도하면 된다.
Payload : a%27%0aor%0aid%3d%27admin
- where 절 내 pw 값의 범위를 임의로 닫기위해 틀린 패스워드 값과 싱글쿼터를 입력
- 명령어를 입력하기 위해 필요한 공백을 줄바꿈(%0a)을 이용하여 입력
- 1번 과정으로 인해 앞 조건이 false가 되었으니, 인젝션을 통해 전체 조건을 true로 만들기 위해 or 입력
- id 컬럼이 admin인 값을 조회하기 위해 id='admin 을 입력. 마지막 싱글쿼터는 이미 기존 쿼리에 있기에 입력하지 않음
CLEAR!
728x90
반응형
'Webhacking > LOS[Lord Of Sql injection]' 카테고리의 다른 글
[LOS 4번 : orc] 문제 풀이 (0) | 2020.04.26 |
---|---|
[LOS 3번 : Goblin] 문제 풀이 (0) | 2019.02.16 |
[LOS 2번 : Cobolt] 문제 풀이 (0) | 2019.02.16 |
[LOS 1번 : Gremlin] 문제 풀이 (0) | 2019.02.09 |