티스토리 뷰

hacking/webhacking.kr

<webhacking.kr> - 12번

khe0616 2018. 1. 21. 18:53

12단계를 클릭하였다. 자바스크립트 문제라고 써있다.

 

 

 

 

 

12단계의 소스코드이다.

숫자가 엄청나게 많은데 String.fromCharCode()는 괄호안의 아스키 코드를 그에 대응되는 문자로 변환시켜주는 함수이다.

eval()은 괄호안의 문자열(텍스트)를 자바스크립트 코드로 변환하여 실행시키는 함수이다.

 

 

 

 

   개발자 모드의 콘솔탭에 WorkTimeFun을 입력하면 eval()함수의 인자(실행되는 코드)가 출력된다.

 

 

 

 

 

 

 

위의 자바스크립트 코드를 실행시키기 위해  burp suite를 이용하였다.

코드를 복붙한 후 forward를 눌렀는데

 

 

 

 

 

아무일도 일어나지 않는다. 코드를 다시 한번 확인하였다.

 

 

 

 

 

 

ck가 비교하는 값과 같은 경우에 패스워드가 출력된다.

 

 

 

 

 

ck를 확인해보니 l이다. ck와 비교하는 값이 l이 아니므로 코드를 복붙했을때 아무 일도 일어나지 않았던 것이다.

 

 

 

 

 

 

ck가 비교하는 값과 같아지도록 하기위해 ck와 비교하는 값 사이의

==   ->   = 로 수정하였다.

 

 

 

 

 

위와 같이 수정한 후 forward를 누르면

Password is youaregod~~~~~~~! 이라는 메시지가 출력된다.

 

 

 

 

 

 

youaregod~~~~~~~!  을 입력한 결과 12단계가 클리어됬다.

 

 

 

 

 

 


명령어 정리

String.fromCharCode(a,b,c, ..) -> 아스키 코드 a,b,c,...와 대응되는 문자열을 반환


eval(text)  ->text(문자열)을 자바스크립트 문장(코드)로 변환하여 실행


document.URL  ->현재 페이지의 URL(주소)


String.indexOf(찾는 문자열, 시작위치(디폴트는 0))  ->문자열(String)에서 찾는 문자열이 첫 번째로 시작되는 위치 반환, 없는 경우 -1 반환


String.substr(추출 위치,길이(디폴트는 끝까지)) -> 문자열(String)에서 추출 위치에서 길이 만큼 문자열을 추출하여 반환한다. 단, 음수인 경우 뒤에서부터 추출됨


String.charCodeAt(index) ->문자열(String)에서 index가 지정하는 위치의 문자를 아스키코드(정수)의 형태로 반환


String.replace(old,new) -> 문자열(String)에서 old를 new로 바꾼(치환한) 문자열을 반환한다.

 

 

 

 

 

 

 

 

'hacking > webhacking.kr' 카테고리의 다른 글

<webhacking.kr> - 4번  (0) 2018.01.24
<webhacking.kr> - 6번  (0) 2018.01.23
<webhakcing.kr> - 10번  (0) 2018.01.21
<webhacking.kr> - 1번  (0) 2018.01.19
<webhacking.kr> - 20번  (0) 2018.01.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함