webhacking/client

Enigma Group basic/javascript 10

qkqhxla1 2014. 11. 1. 15:00

function checkPass( password )

{

var count1 = 3, count2 = 5;

var sumof1 = 0, sumof2 = 0;


var charlist = "BHFE8";


for( i = 0; i < password.length; ++i ) { sumof1 += ( password.charCodeAt( i ) * count1 ); count1++; }

for( i = 0; i < charlist.length; ++i ) { sumof2 += ( charlist.charCodeAt( i ) * count2 ); count2++; }


(sumof1 == sumof2) ? setTimeout( "location.replace( 'http://www.enigmagroup.org/missions/basics/js/10/index.php?password=" + encodeURI(password) + "' );", 0 ) : alert( "Sorry, but the password was incorrect." );

}


인자인 password는 내가 입력한 패스워드. 중간에 포문이 두개 있는데 하나는 내가 입력한 password값


으로 반복문을 돌리고, 다른 반복문은 내부의 변수 "BHFE8"으로 반복문을 돌린다. 


charCodeAt은 아스키코드값으로 변환하는 것으로 'a'이면 97이 나올것이다.


그 값을 sumof1변수와 sumof2에 각각 더해서 집어넣고, 나중에 반복문을 다 돌고


나와서 sumof1과 sumof2가 서로 같으면 통과한다.


sumof1을 계산할때와 sumof2를 계산할때 서로 count값이 다르다. 


어떻게 할까 고민하다가 이런식으로 코드를 짰다.


"""function checkPass( password )
{
	var count1 = 3, count2 = 5;
	var sumof1 = 0, sumof2 = 0;

	var charlist = "BHFE8";

	for( i = 0; i < password.length; ++i ) { sumof1 += ( password.charCodeAt( i ) * count1 ); count1++; }
	for( i = 0; i < charlist.length; ++i ) { sumof2 += ( charlist.charCodeAt( i ) * count2 ); count2++; }

	(sumof1 == sumof2) ? setTimeout( "location.replace( 'http://www.enigmagroup.org/missions/basics/js/10/index.php?password=" + encodeURI(password) + "' );", 0 ) : alert( "Sorry, but the password was incorrect." );
}"""

import sys
charlist = "BHFE8";
count1 = 3
count2 = 5
sumof1 = 0
sumof2 = 0
for i in range(0,len(charlist)):
    sys.stdout.write(chr(ord(charlist[i])*count2/count1))
    #자바스크립트로는 for( i = 0; i < charlist.length; ++i ) { document.write(String.fromCharCode( charlist.charCodeAt( i ) * count2/count1 )); count2++;count1++; } 정도가 될것같다.(맞는지는 모르겟음)
    count2 += 1
    count1 += 1
print ''





'webhacking > client' 카테고리의 다른 글

Enigma Group basic/javascript 12  (0) 2014.11.01
Enigma Group basic/javascript 11  (0) 2014.11.01
Enigma Group basic/javascript 9  (0) 2014.11.01
Enigma Group basic/javascript 1~8  (0) 2014.11.01
suninatas level 7  (0) 2014.10.30