Webhacking.kr

Webhacking.kr 51번

초보 & 뉴비 2015. 8. 16. 23:29

 

  입력받은 pw를 md5 함수를 이용하여 $input_pw 변수에 저장 (md5 함수 2번째 인자는 'true')

 

 

 

  * php에서 md5 함수를 사용할 때, 두번째 인자를 'true'로 설정하면 md5 해쉬 결과를 바이너리 형태로 반환함

    이 때 반환된 바이너리는 magic_quotes_gpc 옵션에 영향을 받지 않음

    따라서 조건을 참으로 만들어주는 바이너리를 얻으면 문제 클리어

 

 

  * 그러나 'or 1=1 # 과 같은 인젝션 쿼리가 반환되는 바이너리는 찾기 힘듬

     따라서 mysql 문자열 처리 방식을 이용하여 간단한 쿼리를 사용

 

 

  * 두 개의 다른 문자 비교시 거짓 반환

'a' = 'b'    => 거짓, 0 반환

 

  * 세 개의 다른 문자 비교시 참 반환

'a' = 'b' = 'c'    => 참, 1 반환

'a' = 'b' (거짓, 0)

 0  = 'c' (거짓, 0)

 0  =  0  (참 ,1)

 

 

 

 

 

비밀번호를 "183941"로 입력