이 문제는 라이트업을 보고 작성하였습니다.
https://esyeonge.tistory.com/83
Webhacking.kr old 4번 문제 풀이
view-source를 눌러서 소스 코드를 보자. 코드를 해석하면 다음과 같다. 1. 10000000부터 99999999 숫자 중 하나 + salt_for_you를 더한 문자열을 hash에 저장한다. (ex. 10001111salt_for_you) 2. 1에서 수행한..
esyeonge.tistory.com
문제 화면입니다.
문제의 소스 코드입니다.
랜덤으로 숫자 10000000~99999999 중 하나를 뽑고
그 뒤에 salt_for_you 를 붙인 문자열을 500번 sha1로 인코딩한 값을 맞히는 문제입니다.
해시 함수는 일방향 암호화이므로 복호화를 할 수 없기 때문에
모든 값에 대한 해시 값을 작성한 레인보우 테이블을 작성해줘야 합니다.
파이썬으로 코드를 짜줍니다.
일단 범위는 range(10000000,2000000)으로 천만 개의 sha1 값을 만들고
다 저장해주면 용량이 크니 앞 부분 8글자만 저장해줍니다.
레인보우 테이블 작성 중간마다 페이지를 새로고침을 계속 해주면서 랜덤 값을 찾아줍니다.
운이 좋게 찾았습니다.
이제 이 값을 제출하면
문제가 풀립니다.
'write-up(web) > webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge old-08 write-up (0) | 2022.08.16 |
---|---|
[Webhacking.kr] Challenge old-09 write-up (0) | 2022.08.15 |
[Webhacking.kr] Challenge old-56 write-up (0) | 2022.08.14 |
[Webhacking.kr] Challenge old-61 write-up (0) | 2022.08.14 |
[Webhacking.kr] Challenge old-42 write-up (0) | 2022.08.14 |