JavaScript

webhacking.kr

[webhacking.kr] old-58

문제분석 & 풀이 문제에 접속하니 USER Console 이라는 간단한 콘솔창이 구현되어있다. 콘솔창에 무슨 명령어를 쳐봐야될지 모르겠어서 우선 간단한 리눅스 명령어들을 쳐보니 ls 명령어만 정상적으로 출력된다. 계속 여러 명령어들을 쳐보던 중 대다수의 명령어들이 찾을수 없다고 떠서 명령어 문제는 아니라고 판단했고 혹시? 하는 마음에 flag를 입력해봤다. flag를 입력해보니 접근이 불가능하며 admin만 접근이 가능하다고 뜬다. admin만 가능하다는 것은 나는 admin이 아닌 다른 계정을 사용중이라는 것인데 그것을 알아보기 위해 개발자도구(F12)를 이용하여 찾아봤다. 간단하게 소스를 분석해보자. 1. username은 "guest" 2. guest:[입력한 명령어] 의 형태로 서버에 데이터를 전..

webhacking.kr

[webhacking.kr] old-54

문제분석 & 풀이 문제에 접속하니 Password is 라는 문구와 함께 오른쪽 값 빠른 속도로 바뀐다. 아마 빠르게 바뀌는 이값들의 총집합이 password 이고 이것을 구하는 문제인 것 같다. 개발자 도구를 이용해 소스를 확인하여 answer() 함수를 찾아냈다. answer() 을 분석해보니 파라미터를 이용해 통신을 하여 그 결과 값을 aview 즉, "Password is" 오른쪽 부분에 출력한다. 소스를 자세히보면 aview.innerHTML=x.response.Text 로 되어있어 통신할때마다 화면에 출력되는 값이 바뀌는 것을 확인할 수 있는데 이것을 aview.innerHTML+=x.response.Text 의 형태로 바꾸면 매번 값이 바뀌는게 아니라 값이 쌓이는 형태로 출력이 될 것이다. ..

webhacking.kr

[webhacking.kr] old-42

문제분석 & 풀이페이지에 접속하면 테이블이 나온다. test.txt 파일을 다운로드 해보니, 정상적으로 다운로드 됐다. 이번에는 flag.docx를 다운로드를 했다. access denied가 뜬다. 아마, flag.docx를 다운받는게 목표인 것 같다. 개발자도구로 코드를 확인해보면, test.txt 파일을 다운로드 받는 과정에서 down 파라미터로 요청하고 있다. 전송하는 값을 보면, 마지막에 =이 붙어있다.  추측하자면, base64 인코딩이 된 값이다. 값을 base64 디코딩하면 test.txt 가 나온다. 예상대로 base64로 인코딩된 값임을 확인할 수 있다. 그렇다면 test.txt 파일을 다운받기위해 test.txt 를 base64 인코딩하여 down 파라미터로 요청했으니, flag.do..

webhacking.kr

[webhacking.kr] old-34

문제에 접속하니 디버그하라는 문구가 나온다. 개발자도구(F12)를 켜서 소스를 확인해보니 script 태그에 위와 같이 소스가 있다. 소스를 옮겨서 확인해봐도 들여쓰기가 전혀 안 된 상태로 나오다보니 보기가 까다로웠고결국 자바스크립트 난독화 해제 프로그램을 이용해 난독화를 해제하여 소스를 확인해봤다. 난독화를 해제하니 소스가 보기 편해졌다. 하지만 313줄로 긴 소스였고 여기서 뭘 해야되지?라는 생각이 들었지만 딱히 생각나는 것이 없어서 코드오더링을 쭉 해봤다. 코드오더링을 하던 중에 처음에 페이지에 접속했을때 "debug me"라는 alert창이 떴던 것이 생각났고 alert를 바로 검색해봤다. alert 검색결과 313줄의 소스중 alert가 딱 하나만 존재했고 위 사진에 나온 alert가 처음에 "..

webhacking.kr

[webhacking.kr] old-20

문제분석 & 풀이문제에 접속하면 여러개의 빈칸이 보인다. 바로 소스부터 봐보자.모든 빈칸에 값이 들어가 있어야 하며 captcha 부분 빈칸은 빈칸 오른쪽에 써있는 값과 같은 값이 들어가야 문제가 해결되는 것 같다. 위와 같이 값을 넣고 제출해보았다. Too Slow? 왜 느리다고 뜨나 했더니 제한시간 2초가 존재했다. 즉, 페이지가 생성되고 2초안에 조건에 맞는 값을 입력하고 제출해야 문제가 해결되는 것 같다. document.getElementsByName('id')[0].value='a'; // nickname 에 값 넣는 코드document.getElementsByName('cmt')[0].value='a'; // comment 에 값 넣는 코드document.getElementsByName('c..

webhacking.kr

[webhacking.kr] old-17

문제분석 & 풀이문제에 접속하니 하나의 입력폼이 주어져있다. 개발자도구로 소스부터 봐보니 script 부분에 unlock이라는 변수가 여러 연산을 거쳐 선언되어있는데 처음에 주어져있던 폼에 unlock 값을 넣으면 문제가 해결되는 것 같다.  unlock 의 값을 일일이 계산할 수는 없기 때문에 console 창에서 직접 unlock 변수의 값을 읽어보았고 7809297.1 이라는 값이 나왔다. 이제 이 값을 처음에 주어졌던 폼에 입력해보자. 클리어!!

keyme
'JavaScript' 태그의 글 목록 (2 Page)