webhacking.kr 4번 문제풀이
·
웹/웹 해킹 문제 풀이
4번 문제의 화면이다. 16진수로 표기된 문자열이 있는 것으로 보아 base, md5, sha 함수로인코딩, 암호화된 것 같다. view source를 확인하자. php 코드를 보면 'chall4'의 세션 값이 있고 포스트 방식의 'key' 값이 'chall4' 값과 같으면 문제가 풀린다. 그리고 'hash' 변수에 10000000~99999999 사이의 랜덤값을 합친 [숫자]salt_for_you 문자열을 저장한다. 저장한 해쉬 값을 chall4의 값에 저장하고 for 문을 이용하여 hash를 sha1()로 500번 암호화 한다. 문제접근 문제를 풀려면 'chall4'의 값이 'key' 값과 같아야 한다. 여기서 'key'값은 4번 문제 화면에서 입력란 값이다. 그렇다는 것은 *salt_for_you ..