본문 바로가기

보안공부

(92)
SolveMe Thirty six 풀이 - 알파뉴메릭 SolveMe Thirty six 풀이[ 알파뉴메릭 ]오늘은 Thirty six문제를 풀어봅시다. 59714216653669596140166323768414581512983971077273551022216라는 값과 알파뉴메릭이라는 단서를 줬네요.우리의 친구 구글에게 36자에 대해 질문하니 Base36이라는 결과를 던져줍니다. https://www.dcode.fr/base-36-cipher이라는 사이트를 찾았지만, 이 사이트는 모두 대문자로 출력해주어 플래그 인증이 되지 않았습니다.그래서 찾아보던 도중 Base36복호화를 해주는 파이썬 라이브러리( https://pypi.org/project/base36/ )를 찾고 실행하였더니 플래그가 나왔습니다. SolveMe Thirty six 클리어!
solveme Warm up 풀이 - 뒤집기 SolveMe Warm up 풀이[ 뒤집기 ]SolveMe의 Warm up 문제를 풀어보자. 제공해준 링크로 들어가니 index.php의 코드와 base64로 인코딩된 구문 하나를 준다. echo base64_encode(hex2bin(strrev(bin2hex($flag)))), ''; 위 구문이 저 base64로 인코딩된 문자열을 출력해주는 코드인데, 뭔가 뒤집으면 될것 같다.다른 언어로 작성해도 되겠지만, 내 주언어인 PHP를 이용해보자. echo hex2bin(strrev(bin2hex(base64_decode("1wMDEyY2Ud2YTY0M2NgMTEyZDQyMjAzNWczYjZgMWI4NTt3YWxmY=")))); 완전히 거꾸로 작동하게 하기 위해 코드를 위와 같이 수정하고PHP를 실행해주는 ..
xcz.kr 11번 문제 풀이 - 무작위대입 XCZ.KR PROB 11 풀이[ 무작위대입 ]XCZ.KR의 11번 문제를 풀어보자. xls가 엑셀파일이니 누가봐도 xls 암호를 브루트포싱하는 문제이다.Download Here를 눌러 바이너리를 받아보자. 예상적중! 암호를 입력하라고 한다. 브루트포스 툴을 이용해 무작위대입을 하니 ex72 라는 비밀번호가 나온다.따라서 이 암호를 입력하고 들어가니 한칸에 한 글자씩 입력되어 있다. 이 문자들을 합쳐보니 key1s6r6t3f0r7e라는 문구가 된다.따라서 플래그(인증 키)는 6r6t3f0r7e이다. XCZ.KR 11번 문제 클리어!
xcz.kr 21번 문제 풀이 - 뜨개질 XCZ.KR PROB 21 풀이[ 뜨개질 ]XCZ.KR의 21번 문제를 풀어보자. 제목부터가 "PHP 난독화 깨기"여서 처음에는 "뭐 별거 아니겠지"라 생각했는데이뭐병.... https://www.unphp.net/를 통해 한번 디코딩해보니 다음과같이 변했다. 않이.... 대체 왜 변수 이름까지 저렇게 선언해둔거야,,,,,,한땀한땀 저 퍼즐을 맞춰보면 다음과 같이 짧은 코드로 변한다. 지금 이 조금의 코드를 저만큼으로 늘여둔거???(솔직히 좀 허무했어ㅇ...ㅛ....) 암튼 이제 원하던 원본 코드를 얻어냈으니 저 코드를 분석해보았다.기본 설정 / 조건받은 key값이 소문자 / 대문자의 영문 또는 숫자가 아닐 경우 "Error"을 출력하며 exit.받은 key값을 - 를 기준으로 분할하여 $a에 배열의 형..
xcz.kr 3번 문제 풀이 - 강남스타일 XCZ.KR PROB 3 풀이[ 강남스타일 ]XCZ.KR의 3번 문제를 풀어보자. 들어가면 암호문 하나를 단져주고 키값을 찾으라고 한다. 암호의 키값을 알아내라 했으니 당연히 Vigenere cipher 암호라고 판단하여온라인 복호화 사이트인 https://www.guballa.de/vigenere-solver 에 암호문을 넣고 돌렸더니 키값이 나온다. 하지만 xcz.kr의 플래그(키값) 인증 규칙은 무조건 대문자니 GANGPSYNAM이 플래그가 되겠다. XCZ.KR 3번 문제 클리어!
xcz.kr 22번 문제 풀이 - 슈퍼게에싱 XCZ.KR PROB 22 풀이[ 슈퍼게에싱 ]이 문제는 xcz.kr 페이스북 페이지에 메시지로 풀이과정을 보내면 플래그를 알려준다고 합니다. :) XCZ.KR의 22번 문제를 풀어보자. Download Here을 누르니 Notbook이라는 파일을 줬다. 하지만 확장자가 없어 HxD를 이용해 파일 시그니처를 확인했더니 AD1파일에 해당하는 FTK Imager 덤프파일 시그니처인41 44 53 45 47 4D 45 4E 54 45 44 46 49 4C 45 (ADSEGMENTFILE)이 나왔다. 따라서 Notebook.ad1으로 이름을 변경해 FTK Imager로 열어 보았더니 다음과 같이 나왔다. 처음에 이 사진에 스테가노그래피 기법을 이용하는 문제인줄 알았는데 생각해보니 문제에 장소 이름을 이용해 인증..
xcz.kr 32번 문제 풀이 - 자료형이... XCZ.KR PROB 32 풀이[ 자료형이... ]XCZ.KR의 32번 문제를 풀어보자. Prob Page에 들어가니 다음과 같은 화면만 출력된다. 뭐 건져갈건 있으려나...는 읎어요! 이제 Source Page를 봅시다. 음.... 눈치 채셨나요? GET 메소드를 이용해 입력한 a값에 대한 자료형 선언이 없습니다.따라서 Type Juggling를 발생시킬 수 있습니다. 12735366333132132465461뒤에 아무 숫자나 29자리 추가해준 후 a값으로 파라미터를 주면 된다.여기서 잠깐! ?의 갯수만큼 필해주어 int로 바꿔주는 형태이기 때문에 ?의 갯수인 29개보다 많아서도, 적어서도 안된다. 그럼 이 문제에 대한 답이 나온다. XCZ.KR 32번 문제 클리어!
webhacking.kr 3번 문제 풀이 - 또는참 WEBHACKING.KR 3번 문제 풀이[ 또는참 ]그럼 오늘은 webhacking.kr 3번 문제를 풀어보도록 하자.얼추 눈치챈 사람들도 있겠지만 사이드에 있는 숫자들이 괜히 있는게 아니다. 위와 같이 이 퍼즐을 맞추고 gogo버튼을 누르고 나면 플래그가 나올것 같지만, Hello World ^^ 이름치는 칸이 나온다. 아무거나 입력하고 write 버튼을 누르니 입력이 된다. 그런데 입력하면 스택이 쌓이는 형태인것으로 보아, DB에 저장해주는것 같다. 따라서 우리는 일정한 값이고, 수정이 가능한 값을 찾아야 한다. 그래서 자세히 들여다보니 answer이 우리가 맞췄던 퍼즐의 값으로 우리가 찾던 조건과 정확히 부합하는것을 알 수 있다.따라서 form에서 숨겨져있는 필드인 answer의 값을 변조해보자. ..