소스 코드에 맨 아래 주석으로 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

+ Recent posts