본문 바로가기

워게임/Webhakcing.kr5

webhacking.kr 42번 문제 풀이 test.txt와 flag.docx 두 개의 파일이 있었다. test.txt는 다운로드할 수 있었지만, flag.docx는 access denied이 떴다. 일단 f12를 눌러 소스를 보자. a 태그로 다운을 받을 수 있게 만들었는데, url을 통해 파일명을 down 변수에 넣어 넘겨준다. test.txt 파일을 다운로드할 땐, dGVzdC50eHQ=를 넘겨주는 걸 볼 수 있었다. base64로 인코딩 값이다. ( Base64란 Binary Data를 Text로 바꾸는 Encoding의 하나로써 Binary Data를 Character set에 영향을 받지 않는 공통 ASCII 영역의 문자로만 이루어진 문자열로 바꾸는 Encoding이다. ) 그럼 flag.docx를 다운받기 위해서도 flag.docx .. 2020. 7. 17.
webhacking.kr 17번 문제 풀이 소스에 힌트가 있을까 싶어서 f12를 눌러 소스를 확인했다. 스크립트 부분을 보니, 내가 입력한 value 값과 unlock 값이 동일하면 문제가 풀리는 것 같았다. unlock 변수를 알아내기 위해 콘솔 창에서 unlock 변수를 출력해보자. >> alert(unlock); 입력 unlock 변수는 7809297.0이라고 한다. lock 변수에 넣어서 확인해보자. 풀렸다. 2020. 7. 15.
webhacking.kr 39번 문제 풀이 핵심인 php 부분만 캡쳐해왔다. 먼저 str_replace 함수가 있다. \\는 없는 문자 취급하고, '(싱글쿼터)는 ''(싱글쿼터 2개)로 취급한다. 그리고 POST로 받아온 id값을 0부터 15번째까지 자르고, 그중에서 또 id길이가 14 미만 이어야 한다고 한다. 쿼리문을 자세히 보면 id=' 하고 '(싱글쿼터)가 닫히지 않는 것을 볼 수 있다. 우리는 이 싱글쿼터를 닫아주고, 길이가 14 미만인 id 값을 입력하자. 싱글쿼터를 닫아줘야하므로 15번째에 '를 넣으면 15번째, 16번째 자리가 ''로 치환되지만, 15번째에서 id를 자르기 때문에 결과적으로 싱글쿼터 한 개만 들어가게 된다. 1 ' 를 입력해주었다. 풀었다. (문제풀이용으로 캡쳐하느라 이미 푼 문제라고 뜬것임.) 2020. 7. 15.
webhacking.kr 24번 문제 풀이 1) extract($_SERVER); // SERVER 추출 2) extract($_COOKIE); // COOKIE 추출 $REMOTE_ADDR을 $ip 변수에 넣는데 $REMOTE_ADDR이 무엇일까? "환경변수"이다. php에서는 프로그래머가 사용하기 쉽도록 여러가지 필요한 변수들을 미리 정의해 놓는다. 앞서 우리가 SERVER의 REMOTE_ADDR을 추출했고, 그 뒤에 COOKIE도 추출했는데 만약 쿠키에도 REMOTE_ADDR이 존재한다면, 그 값이 변할 것이다. 따라서 우리는 쿠키를 조작하여 이 문제를 풀 수 있다. (SERVER와 COOKIE의 내부 속성들) - REMOTE_ADDR : 현재 페이지를 보고 있는 시스템의 IP 주소. - REMOTE_PORT : 사용자의 시스템이 웹 서버와.. 2019. 12. 24.
webhacking.kr 54번 문제 풀이 f12를 눌러 script부분을 보자. 1) run( ) 함수 // Ajax를 위한 객체를 생성하는 함수. Ajax는 Asynchronous JavaScript and XML의 약자로, 자바스크립트를 이용하여 비동기적으로 서버와 브라우저가 데이터를 주고받는 방식. 2) x = run(); // run( ) 함수로 생성된 객체는 x에 저장. 3) answer( ) 함수 XHR오브젝트는 void open(string method, string url, boolean asynch, string username, string pw) 메소드 void send(content) 등이 존재함. 주로 open(), send() 메소드가 가장 많이 사용되는 메소드임. - x.open('GET', '?m='+i, false.. 2019. 12. 24.