webhacking.kr old 4번-진행중

2020. 1. 13. 16:48카테고리 없음

<문제>
<페이지 소스코드>

페이지 소스코드를 보니 이 문제는 Brute Force Attack을 방지하기 위해 1초마다 pw를 바꾸고있다.

key값(=pw))과 세션값이 같아야하고

세션값은 $hash라는 값이고, 이 값은 10000000~99999999 사이의 랜덤값을 sha1 암호화를 500번해서 문제 화면의 다이제스트를 만들고 있다.

 

 

<다이제스트 디코딩 시도>

해당 다이제스트를(초마다 바뀌다보니 해시값이 바뀌었다.) https://hashkiller.co.uk/Cracker/SHA1에서 복호화하려했는데 일치하는 값이 없다고한다....어쩐지 일이 쉽게 풀린다했지.

>>혹시나하고 몇번 더 시도해봤는데 전부 no match라고 뜨는걸 보니 10000000(10^7)이상의 큰 수는 해당 DB에 없는것 같다.

>>Brute Force는 안된다고했으니 내가 직접 계산해야하는 분위기다.

>>(10^8-1)-(10^7)=9*10^7-1의 후보군이 있군효^^

>>제타위키에 따르면 sha1 알고리즘은 1회에 약 0.2초가 걸리고 이걸 하나당 500번을 반복하면(0.2초는 컴퓨터 성능에 따라 갈리겠지만...)

>>=(9*10^7-1)*100s

>>약 9억초 걸리겠습니다.

>>10억초가 대충 31년이니까....(10억초 문제)

>>무언가 심각하게 잘못됐다.

>>파이썬으로 해결할 문제는 더더욱 아닌데...아니 그러면 c를 설치해야하잖아(지금까지 다시 안깔고 버틴게 용하다)