본문 바로가기

분류 전체보기

(28)
[CTF]wargame.kr_img recovery wargame.kr의 img recovery 문제 풀이 이번 문제는 포렌식 문제 입니다. 이미지 파일이 진짜 png 파일이 아닌가 보네요. 힌트로 png 파일에 문제가 있음을 알려줬으니 개발자도구를 키고 Sources에 가서 png파일을 save 합니다. 그리고 헥사 파일 편집기를 사용해 파일 포맷이 png가 맞나 확인합니다. 사용한 프로그램은 http://ridiculousfish.com/hexfiend/ 에서 다운받아서 사용하고 있습니다. (Mac os용) 이미지 파일 포맷은 구글에서 검색해 간단하게 비교해봅니다. 헤더 부분부터 이상한 곳이 있나 확인합니다. 맨 아래로 내려가니 tEXtSotf ware Japng r119 라는 문자열이 보입니다. (IEND는 png포맷의 마지막 형식) png 앞에 j..
[CTF] pwnable.kr_collison pwnable.kr의 collision 문제 풀이 MD5 hash collison 관련 문제라고 힌트를 줍니다. 맥os를 사용하기 때문에 터미널을 사용해 ssh 서버에 접속하겠습니다. ssh col@pwnable.kr -p2222 ls -al 명령어로 해당 위치에 어떤 파일이 있는지 확인하고, 찾은 파일을 cat 명령어로 출력합니다. 입력값과 hashcode가 동일하면 system()함수로 flag 파일을 출력합니다. 입력값은 20비트의 길이여야하며, 4바이트씩 쪼개 다 더한 값이 hashcode이어야 합니다. (총 5등분) hashcode = 0x21DD09EC 를 5로 나누면, 0x06C5CEC8 값이 나오는데 이 값에 다시 5를 곱하면 0x21DD09E8 값이 나옵니다. hashcode = 0x21..
[CTF] pwnable.kr _fd pwnable.kr의 fd 문제풀이 리눅스의 file descripor 관련 문제라고 힌트를 줍니다. 맥os를 쓰는 경우에는 해당 ssh 서버로 접속하기 위해 터미널을 띄우고 ssh fd@pwnable.kr -p2222 를 입력하면 됩니다. password: 란에는 위에서 제시하는 guest를 입력합니다. 접속에 성공하면 다음과 같은 화면이 보입니다. flag 값이 어디있는지 알기 위해서 일단 ls -al을 해서 해당 위치에 어떤 파일들이 있는지 파악합니다. 현재 저는 이 서버에서의 fd권한이고 봐야할 flag파일은 볼 수 없습니다. 파일 이름을 보아 fd는 fd.c의 실행파일로 보입니다. fd.c파일을 읽을 수 있기 때문에 cat명령어를 사용해서 출력해줍니다. if문 안의 명령어를 보니, 조건을 참으로..
[CTF]wargame.kr_WTF_CODE wargame.kr의 WTF_CODE 에 대한 풀이 This is another programming language. Can you read this source code? 소스 코드를 읽을 줄 알아야 하는 문제 같네요. ws 확장자는 낯설기 때문에 어떤 파일인지 아직 알 수는 없지만, 문제 힌트를 통해 어떤 소스코드가 담겨있을 거란 예상을 할 수 있습니다. 파일 편집기를 통해 파일을 열어보면 빈 파일로 보일지도 모르지만, 실제로는 빈 공백, 탭 등으로 이루어진 파일입니다. 이런 소스코드는 처음 접하는 것이기 때문에 "공백 언어"로 검색을 해봤습니다. (출처: https://ko.wikipedia.org/wiki/화이트스페이스_(프로그래밍_언어)) 검색 결과로 위키백과가 가장 위에 떳고 찾던 언어가 w..
[python] 출력하기, print 옵션, 특수문자 pirnt 사용법 >>> help(print) Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after th..
[CTF]wargame.kr_QR CODE PUZZLE wargame.kr의 QR CODE PUZZLE 에 대한 풀이 javascript puzzle challenge just enjoy! 방법1 : 소스코드를 활용해 url 직접 접속 $(function(){ $('#join_img').attr('src',unescape('.%2f%69%6d%67%2f%71%72%2e%70%6e%67')); -> #joi_img라는 요소의 src속성의 값을 변경하는 부분으로 이미지의 소스를 변경하겠다는 의미로, 이 소스 값이 원래 이미지를 나타내는 경로일 수 있다. * unescape() 함수는 escape()함수로 16진수 문자로 인코딩 된 문자열을 다시 원래 문자열로 되돌린다. 개발자 도구의 console 창을 사용해 unescape('.%2f%69%6d%67%2f%71..
[CTF] wargame.kr_free button wargame.kr의 free button에 대한 풀이 click the button! i can't catch it! 버튼을 클릭하면 되는 문제네요. "click me!" 상자가 마우스 포인터와 일정한 간격을 두고 움직이고 있습니다. 크롬 개발자 도구를 사용해서 코드를 확인해보면 div 태그 밑에 버튼이 있는 것을 알 수 있고, div 태그의 style을 변경해서 위치를 고정시켜야겠구나를 생각해낼 수 있습니다. style = " position: absolute; " absolute는 객체의 절대적인 위치를 지정할 때 사용하는 것으로 문서의 원래 위치와 상관없이 위치를 지정할 수 있는 position 속성 중 하나 입니다. 버튼을 클릭하는 방법은 간단합니다. position: absoute; 부분을 지..
[CTF] wargame.kr_already got wargame.kr의 already got 문제에 대한 풀이 can you see HTTP Response header? 시작하기 전 주어진 힌트 입니다. 이것만 봐도 http 프로토콜의 응답 헤더를 보면 되겠구나를 알 수 있다. 방법 1. 시작하기 전 와이어샤크를 켜주고 네트워크 선택하여 패킷캡쳐를 실행한다. * 와이어샤크는 패킷을 캡쳐하는 프로그램으로 무료이며 https://www.wireshark.org 에서 다운로드 받으면 됩니다. 2. already got 문제를 start 한다. 3. 와이어샤크 실행을 중지 시킨다(좌측 상단의 빨간색 네모박스). 4. http 프로토콜 패킷만 보이게 필터를 씌여주고 Source(보내는 컴퓨터의 ip 주소)가 175.207.12.40, Destination(받는..