본문 바로가기

웹해킹

webhacking.kr(old) 45번

반응형

오늘은 webhacking.kr 45번을 풀어보았다.

일단 id와 pw가 guest로 되어 있다.

view-source를 눌러서 본다.

'/admin|select|limit|pw|=|<|>\i'가 id, pw에 들어가면 exit한다고 한다.

result['id']가 admin이어야 solve된다고 한다.

일단 표시한 부분을 보면 id가 id이고 pw가 pw의 md5인 것을 고르라고 한다.

pw에 md5가 들어가는 걸 보면 일단 pw는 알아내기 힘들 것 같다.

코드를 보니 id와 pw에 각각 addslashes를 해준다고 한다.

+addslashes()?

문자열에 특수 문자(ex ('), ("), (\) )가 포함되어 있다면
그 문자 앞에 '\'를 붙이는 역할

 

밑엔, mb_convert_encoding가 보인다.

+mb_convert_encoding함수에서는 %(a1~fe)\가 하나의 문자처럼 취급되는 취약점이 있다고 한다.

이 때문에 (')를 사용할 수 있다.

 

preg_match함수를 보니 admin, = 등 사용할 수 없는 것을 볼 수 있다.

 

이를 이용해서 문제를 풀 수 있을 듯 하다.

 

guest, guest를 제출해보니,

도메인에 저렇게 표시됨을 확인할 수 있다.

 

id=1%(a1~fe아무거나)' or id=admin&pw=guest을 입력할 것이다.

=, admin은 사용할 수 없다. 이를 hex로 변환해서 입력한다.

id=1%a1%27||id%20like%200x61646D696E%23&pw=guest

admin ->(hex) 61646D696E

' -> (hex) 23

이런 식으로 입력한다.

 

끝!

 

반응형

'웹해킹' 카테고리의 다른 글

webhacking.kr 35번  (0) 2020.05.17
webhacking.kr(old)46번  (0) 2020.05.13
webhacking.kr(old) 34번  (0) 2020.04.15
webhacking.kr(old) 58번  (0) 2020.04.14
webhacking.kr(old) 39번  (0) 2020.04.13