for 루프에 대한 MD5 해시 [닫기]

for 루프에 대한 MD5 해시 [닫기]

다음 문자열이 있습니다."VGxkTk1GcHFTWGRhUjBacFkycENhMWx0VFRWT1IxazBUMVJXYUZwSFNUQmlWR1JxVGtSVmVVOVZjR3RhYWtFOQ%3D%3D"

그리고 for 루프:

for(var i=0,k=3,l=643; (i<=20 && l>200) || k>8;i++,k--){
    console.count();
    }

md5를 얻는 방법?

function display() { var cookie = "VGxkTk1GcHFTWGRh UjBacFkycENhMWx0 VFRWT1IxazBUMVJX YUZwSFNUQmlWR1Jx VGtSVmVVOVZjR3Rh YWtFOQ%3D%3D"; for(var i=0,k=3,l=643; (i<=20 && l>200) || k> 8;i++,k--){ console.count() } }

document.write("Here is your cookie: "+cookie+" It's md5, isn't!");

// To solve this  you must know about md5 hash
// Go to https://en.wikipedia.org/wiki/MD5 and read about it ;)

}

답변1

문자열은 base64로 인코딩된 다음 URL로 인코딩될 수 있는 것처럼 보입니다. 끝에 있는 "%3D%3D"는 두 개의 등호가 됩니다.

그만한 가치가 있기 때문에 이를 Base64 디코더에 전달하면 유효한 Base64 인코딩처럼 보이는 또 다른 문자열이 생성됩니다. Base64 디코더를 총 3번 거치면 완전히 다른 모습을 얻게 됩니다...

echo "VGxkTk1GcHFTWGRhUjBacFkycENhMWx0VFRWT1IxazBUMVJXYUZwSFNUQmlWR1JxVGtSVmVVOVZjR3RhYWtFOQ==" \ 
  | base64 -d | base64 -d | base64 -d |od -t x1z

결과 :

0000000 35 63 34 66 32 30 64 61 62 72 30 64 62 63 39 34  >5c4f20dabr0dbc94<
0000020 66 38 39 35 61 64 62 34 6d 37 63 34 35 32 39 4a  >f895adb4m7c4529J<
0000040 64 66 30                                         >df0<

갑자기 우리는 모든 소문자와 숫자를 얻었습니다. Base64 디코딩을 추가로 시도하면 일부 인쇄할 수 없는 문자가 발생하고 Base64 디코더에서 "잘못된 입력"이 발생합니다. 그래서 그것은 아마도 뭔가를 의미할 수도 있고 아닐 수도 있습니다.

표준 MD5 체크섬보다 3개의 문자가 더 있으며... 세 문자 모두 유효한 md5sum 문자 목록 외부에 있습니다("r", "m" 및 "J"). 이것을 제거하면 16진수를 얻게 됩니다.할 수 있다이론적으로는 MD5 체크섬입니다.무엇.

관련 정보