▼ Challenge 59는 다음과 같습니다.
빨간 글씨가 각 POST 전송 name 입니다.
▼ 소스는 다음과 같습니다.
Login과 Join으로 되어 있고, admin으로 가입하여 로그인하면 문제가 풀릴것 같습니다.
Insert 구문에서 phone 부분에 Quotes가 없으므로 이 곳에 Injection을 해보도록 하겠습니다.
insert into c59 values('test', 1, 'admin') 이라고 입력해 보지만, admin을 필터링함으로 Access Denied가 뜹니다.
문자열 필터링을 우회할 수 있는 MySQL의 REVERSE() 함수를 쓰도록 하겠습니다.
REVERSE() : 문자열을 역순으로 반환
insert into c59 values('test', 1, reverse('admin'));-- , 'guest') 이라고 입력하지만 Access Denied가 뜹니다.
원인은 phone부분에 20자리 미만의 문자만 입력 받고 있군요.
주석문까지 입력하기에는 너무 짧은 문자 갯수 입니다. "admin" 이라는 글자를 다르게 표현할 수는 없을까요?
▼ 다음과 같이 해결하였습니다.
'WarGame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] Challenge 10 :: CSS (0) | 2015.11.22 |
---|---|
[webhacking.kr] Challenge 61 :: SQL Injection (alias) (0) | 2015.11.22 |
[webhacking.kr] Challenge 42 :: ZIP Cracking (0) | 2015.11.20 |
[webhacking.kr] Challenge 36 :: swp 파일 (0) | 2015.11.20 |
[webhacking.kr] Challenge 52 : Header Injection (0) | 2015.11.20 |