webhacking.kr - challenge 4
(원래 정해진 순서로 하기 보다는 점수별로 난이도가 다르기 때문에낮은 점수부터 시작했다. )
일단 화면엔 인코드된 문자와 password입력 공간이 있다. 소스 코드 보기를 통해
코드를 확인했다.
별 다른건 없었다. 저 위에 써진 문자를 해독하면 될것 같은데 일단 끝이 ==여서 base64로 디코드했다.
어떤 문자열이 나왔는데 이 문자열을 혹시 해서 넣었더니 아니었다. 문자들을 살펴보니 16진수 같았다. 영어가 딱 f까지만 존재하기 때문에. 구글링을 하다보니 해시함수에 따라 출력되는 값이 다르다는걸 알았다. base64로 디코드해서 나온 문자열은 40바이트이다. *sha-1해시함수의 16진수 출력값이 40바이트라고 한다.
*SHA(Secure Hash Algorithm)
SHA 함수는 서로 관련된 함호학점 해시 함수들의 모음이다. 처음 개발된 버전을 이후와 다르게 구분하기 위해 sha-0라 칭하고 이 이후에는 sha-1, sha-224, sha-256, sha-384, sha-512 순으로 변형한 버전을 발표했다. 현재 sha-0, sha-1은 공격이 발견된 상태이다.
sha-1은 sha-0의 압축함수에 비트 회전 연산을 하나 추가한 것이다. sha-1의 해시값(출력값)의 크기는 160비트, 16진수일 경우 40바이트이다. (참고로 sha-0출력값의 크기는 sha-1과 동일하며 sha-256 출력값의 크기는 256비트, 16진수로 64바이트이다.)
base64로 나온 결과를 sha-1으로 디코드 했다.
결과가 test라고 나왔다. 이 값을 challenge4에 넣고 제출을 클릭하니 성공!
참고:
http://egloos.zum.com/doodoodoo/v/1770980
https://ko.wikipedia.org/wiki/SHA
http://rootnix.in/82
댓글
댓글 쓰기