Challenge 50 시작!
SQL Injection 문제이다. 소스코드를 보자.
특정 문자들에 필터링이 되어 있고, lv 이 3일 경우 문제가 해결된다. 눈에 띄는 것은 id 를 mb_convert_encoding() 로 처리한다는 것이다. 이에 대한 활용 방법은 Challenge 45 에서도 다뤘다. lv = 3 이라는 조건을 만들어야 되는데 웬만한 문자들은 모두 필터링 되어 있어서 union 을 사용해야 할 것 같다. id 부분에는 union 이 필터링 되어 있어 pw 부분에서 사용해야 한다. union 을 사용했을 때, 다음과 같은 select 문이 만들어져야 한다.
[기존의 select 문] union select 3
따라서 입력할 url 은 다음과 같다.
?id=guest%aa'/*&pw=*/union%0aselect%a3%23
- addslashes() -> %aa 로 우회
- pw 부분 -> /* */ 로 주석 처리
- 공백 -> %0a 로 우회
성공!
'WarGame > webhacking.kr' 카테고리의 다른 글
Challenge 52 (0) | 2020.04.29 |
---|---|
Challenge 51 (0) | 2020.04.28 |
Challenge 49 (0) | 2020.04.27 |
Challenge 48 (0) | 2020.04.27 |
Challenge 47 (0) | 2020.04.25 |