about Security/웹보안과 해킹
[웹해킹문제풀이] # webhacking.kr 워게임 4번
saniii
2020. 10. 2. 03:59
<워게임 4번>
소스 코드를 보여준다고 하니 view source 를 눌러보자
$hash = rand(10,000,000, 99,999,999) . “salt for you”;
>> 해쉬값에 10,000,000 부터 99,999,999까지의 수 중 하나에
salt for you라는 문장을 덧붙인 값을 대입한다.
$_SESSION[‘’chall4’] = $hash;
>>Chall4의 세션키를 hash에 저장된 값으로 설정
for($i=0; $i<500; $i++) $hash = sha1($hash);
>> 해쉬에 저장된 값을 sha1로 암호화하고 다시 그 값을 hash에 대입
워게임 4번을 풀려면?
Sha1은 복호화가 가능하지 않은 단방향 암호이다.
따라서 우리는 가능한 모든 가지의 경우의 수를 마찬가지로
500번 복호화하여 문제에서 준 암호값과 같은지 비교하여야 한다.
즉 10,000,000salt for you 부터 99,999,999salt for you 까지
500번 반복 sha1한 값을 비교한다. (같은 값이 나올 때까지)
물론 알고리즘을 설계하여 프로그램을 돌리는 것이 현명하겠지!! 노가다가 아니라