소스 코드에 맨 아래 주석으로 id/pw가 있었고 로그인에 성공하면 key값을 띄워주는 문제입니다.
<!-- you have blocked accounts.guest / guest blueh4g / blueh4g1234ps --> |
SQL Injection을 이용하고 싶지만 mysql_real_escape_string()으로 싱글쿼터 앞에 \를 붙이기 때문에 사용하지 못합니다.
또한 우회 기법인 %a1~%fe를 싱글쿼터 앞에 붙여서 특정 문자열을 만드는 방법도 mysql_query("set names utf8")인 환경이기에 불가능 합니다.
SQL Injection 문제는 아니므로 다른 방식으로 풀어야 합니다.
이때 주목해야 할 상황은 php환경이라는 점이며 php는 대소문자 구분을 하지 못한다는 것을 알아야 합니다.
일반적으로 guest/guest로 로그인을 하면 아래와 같은 메시지가 나오게 됩니다.
하지만 php환경에서 대소문자 구분을 하지 않기 때문에 GUEST/guest라고 입력을 해도 로그인에 성공하며
$id=='guest' 부분도 대문자이기에 통과할 수 있습니다.
'WarGame > wargame.kr' 카테고리의 다른 글
[WarGame] strcmp (0) | 2018.10.30 |
---|---|
[WarGame] md5 password (1) | 2018.10.29 |
[WarGame] fly me to the moon (0) | 2018.10.28 |
[WarGame] QR CODE PUZZLE (0) | 2018.10.28 |
[WarGame] flee button (0) | 2018.10.28 |