picoCTF picoCTF 2019 flag_shop - Points: 300 소스를 살펴보겠습니다. 조금 길기 때문에 키모가되는 부분을 발췌합니다. 우선은 flag를 표시하는 처리의 곳. 소스를 보는 한 를 만족하면 flag가 표시될 것 같습니다. account_balance에 대해 알아보겠습니다. 정의 단계에서는 1100이 들어 있습니다. 행 42에서 account_balance의 값을 다시 쓰는 프로세스가 있으므로 여기에 어떻게 든 노력하는 문제 인 것 같습니다.... picoCTFCTF picoCTF 2019 asm3 - Points: 300 asm3(0xaeed09cb,0xb7acde91,0xb7facecd)일 때의 반환값(eax)을 구하는 문제입니다. 스택의 상태는 이렇습니까? 소스를 살펴보겠습니다. eax, ax, ah, al이 나왔기 때문에 한 번 표로 둡니다. 이것은 eax를 0으로 만드는 처리입니다. ah에 ebp+0xb를 대입한다. ebp+0xb는 무엇인가 하면 ebp+0xc가 인수 2이므로, 그 직전에 2자리수. 즉... picoCTFCTF picoCTF 2019 Irish-Name-Repo 1 - Points: 300 사이트에 액세스해 봅니다. 로그인하는 문제이므로 로그인 화면을 찾습니다. 아무것도 입력하지 않고 로그인 버튼을 누르십시오. login.php로 전환하여 "Login failed."라고 표시되었습니다. 소스를 살펴보겠습니다. 특히 이상한 곳은 없었습니다. SQL 주입을 시도합니다. 우선 끈적 끈적한 넣어 보겠습니다. 오, 됐어.... picoCTFCTF picoCTF 2019 asm2 - Points: 250 asm2(0xc,0x15)를 실행할 때 어떻게 됩니까? 라는 문제입니다. 어셈블러를 살펴보겠습니다. <+3>: 이것의 의미는 무엇입니까? 조금 모릅니다, 앞으로 esp 사용되지 않기 때문에 지장은 없을 것 같다. <+6>: 두번째 인수의 0x15를 eax에 대입한다. <+9>:ebp-0x4에 0x15를 대입한다. <+12>:eax에 첫번째 인수의 0xc를 대입한다. <+15>:ebp-0x8에... picoCTFCTF picoCTF 2019 like1000 - Points: 250 다운로드한 tar 파일을 해동해 본다. 이것은 만약 1.tar까지 반복하는 계의 녀석일까. 텍스트 파일을 살펴 보겠습니다. 무엇? 999.tar를 압축해 봅니다. 998.tar가 완료되었습니다. 역시 1.tar까지 노력하는 계열 같네요. 텍스트 파일의 내용은 동일했습니다. 우분투의 쉘을 사용하여 단번에 모두 해동해 보겠습니다. 이런 느낌입니까? 실행하면 왠지 609.tar에서 멈췄습니다. 어... picoCTFCTF picoCTF 2019 NewOverFlow-2 - Points: 250 아니 이 문제도 전까지 없었지요? 오버플로 공부하고 싶기 때문에 고맙습니다만. 소스를 봅니다. 조금 길다. main()에서 가볍게 보면 vuln()을 불러 종료. 불리지 않는 flag()가 있다. vuln()에서 main()으로 돌아갈 때 반환 대상을 flag()로 설정하면 되나요? win_fn2()와 win_fn() 필요? 뭔가 함정? 함정 모르겠지만, vuln()의 리턴 주소를 변경하는 ... picoCTFCTF picoCTF 2019 NewOverFlow-1 - Points: 200 어제까지 전혀 눈치채지 못했지만 200점의 문제가 아직 남아있었습니다. 새로운 추가? 소스를 살펴보겠습니다. picoCTF 2019 OverFlow 2 - Points: 250 이것과 같은 느낌으로 vuln()의 리턴 주소를 flag()의 선두로 해 주면 좋은 문제라고 생각합니다. 이번에는 인수가 없으므로 이전 문제보다 편안한 문제입니다. 우선은 flag()의 선두 주소를 조사합니다. fla... picoCTFCTF picoCTF 2019 WhitePages - Points: 250 첨부 파일을 열어보십시오. 공간 투성이. 반각 스페이스에서 검색해 보면 여러가지 스페이스가 사용되고 있는 것을 알 수 있다. 스페이스만의 프로그래밍 언어가 있었다고 생각해 조사해 본다. Whitespace - Wikipedia 이것이 느껴집니다. 그리고 확실히 web상에서 컴파일과 실행이 생겼다고 생각하므로 찾아 보겠습니다. Ideone.com 여기에서 실행해 보겠습니다. 다른 것 같습니다.... picoCTFCTF picoCTF 2019 slippery-shellcode - Points: 200 소스를 살펴보겠습니다. picoCTF 2019 handy-shellcode - Points: 50 이것과 비슷한 해결 방법입니다만, 33행째로 랜덤의 오프셋을 더하고 있기 때문에 최대로 256 어긋난다고 하는 것입니까. 256분 선두에 NOP를 넣어 두면 좋다고 하는 것입니까. NOP라면 아마 읽어 날려줄 것이다. 이번 실행 파일도 32bit입니다. shellcode를 찾습니다. Shellc... picoCTFCTF picoCTF 2019 la cifra de - Points: 200 nc로 연결해 봅니다. 이 암호문을 해독하면 된다는 것입니다. 이것이 picoCTF {XXXXXXXXXXXXX}라고 생각합니다. 조금 picoCTF보다 문자수가 많은 생각이 듭니다만. ROT13 등 시저 암호는 보았습니다만, 다른 것 같습니다. quipqiup - cryptoquip and cryptogram solver 여기서 해석해 보겠습니다. 전혀 그렇게 할 수 없었습니다. 어쩌면 비쥬... picoCTFCTF picoCTF 2019 Client-side-again - Points: 200 사이트를 방문해 봅니다. 로그인 화면이 있었습니다. 소스를 살펴보겠습니다. 입력한 패스워드를 10행째의 javascript가 무엇인가 판정을 해 정답인가 부정해인지를 판정하고 있는 것 같습니다. 우선 javascript를 성형해 보겠습니다. 꽤 엄격한 if 문이 있습니다. 웹 페이지를 저장하고 여러가지 해보려고 생각합니다. 29행에 alert를 넣어 checkpass를 표시해 보겠습니다. 입... picoCTFCTF picoCTF 2019 OverFlow 1 - Points: 150 소스를 살펴보겠습니다. flag()가 실행되면 flag의 내용이 표시될 것 같습니다. 그렇지만, flag()는 어디에서도 불려 있지 않습니다. 처리의 흐름으로서는 라는 느낌입니다. vuln()에서 main()으로 돌아가는 주소를 괴롭히고 flag()로 날리는 작전으로 좋을까. 즉 28행째의 vuln()이 끝났을 때에 「다음은 37행째예요」라고 하는 처리를 재기록해 「다음은 11행째예요」라고 ... picoCTFCTF picoCTF 2019 where are the robots - Points: 100 링크에 액세스해 봅니다. 소스를 살펴보겠습니다. wireshark에서 통신을 살펴 보겠습니다. 쿠키 등도 없을 것 같습니다. 문제 문장을 다시 읽어보십시오. 이마이치 잘 모르겠습니다. 팁을 살펴보겠습니다. 당신에게 로봇이라고 할까요? robots.txt? 방문하십시오. 방문하십시오. 할 수 있었다.... picoCTFCTF picoCTF 2019 logon - Points: 100 링크를 클릭해 봅니다. 로그인 화면입니다. 여기를 돌파하면 플래그를 받을 수 있겠지요. 다양한 버튼을 눌러보십시오. Sign In 버튼을 누르면/login으로 천이할 것인데/flag로 천이하고 있기 때문에, 뭔가 리디렉션하고 있는지 궁금하네요라는 인상. 그냥 https이므로 wireshark를 사용하여 패킷을 볼 수 없습니다. 라고 생각하면 문제 문장에 또 다른 URL이 쓰여져 있어 는 ht... picoCTFCTF picoCTF 2019 OverFlow 0 - Points: 100 소스를 살펴 보겠습니다. 문제의 제목대로 오버플로우시키는 문제입니다. 이것과 함께 문제처럼 보입니다. 셸에서 경로를 확인합니다. 플래그를 표시하는 프로세스를 확인합니다. 발신자를 확인하면 이었다. 이 전 풀었을 때도 상세를 잘 모르겠습니다만, 우선 오버플로우 시키면 됩니다. 여기 처리에서 128자 이상이 buf에 들어가면 오버플로가 발생합니다. input은 런타임에 인수로 전달할 수 있으므로... picoCTFCTF picoCTF 2019 handy-shellcode - Points: 50 이 문제를 풀기 전에 좀더 앞에 하나 날려버린 문제가 있었기 때문에, 그 다음 풀어요. 2Warm - Points: 50 10진수를 2진수로 변환하는 문제입니다. 그런데 원래의 문제로 돌아갑니다. 소스를 살펴 보겠습니다. 에서 노력하는 계열의 녀석입니다. 서버를 확인합니다. 아까를 열심히 flag.txt를 표시하는 사람입니다. 와 함께 해결 방법으로 할 수 있습니다. 실행 파일의 비트를 확인... picoCTFCTF picoCTF 2019 The Factory's Secret - Points: 1 2019 시작되었기 때문에, 이제부터는 이것을. 최초의 1점의 문제입니다만, 수수께끼다. 이게 뭐야? 우선 링크 클릭. 이게 뭐야? 우선 이것 할 수밖에 없는 것인가? 이게 뭐야? 수수께끼의 50점 문제같은 것이 나왔다. 1점 문제 해결하고 싶지만. 0x70을 아스키 코드에 다시 대답합니다. 그 후 영원히 영어가 이어져 전혀 의미를 모른다. 동기 0. 보통 쪽을 보면 아까의 문제가 있었던 것... picoCTFCTF picoCTF 2018 Ext Super Magic - Points: 250 수수께끼의 파일 시스템을 통과하기 때문에 알아보십시오. 그런 이야기입니까? FTK Imager에서 열어보세요. 파일 시스템을 판별할 수 없는 것 같습니다. 데이터도 선두당은 0뿐이네요. 한가운데를 보면 곳곳에 파일 이름 같은 것이 있으므로 어떻게든 열심히 마운트하고 이미지 파일의 내용을 확인한다는 이야기입니까. 덧붙여서 「pico」로 검색해도 히트하지 않았습니다. 서버에서 file 명령을 실... picoCTFCTF picoCTF 2018 Buttons - Points: 250 200포인트를 모두 마치고 250포인트 존에 들어갔습니다. 링크에 액세스하고 버튼을 누르는 것만? 의 간단한 문제입니다. 링크에 액세스해 봅니다. 솔직하게 버튼을 누르십시오. 버튼은 아니지만. 라고 생각하면서 링크(버튼?)을 눌러 봅니다. 액세스 실패의 문자와 함께 수수께끼의 80년대 포크송이 흘러 왔습니다. 수상한 것은 두 번째 링크의 페이지이므로이 페이지의 소스를 살펴 보겠습니다. but... picoCTFCTF picoCTF 2018 you can't see me - Points: 200 뭔가 잘 모르겠지만/problems/you-can-t-see-me_0_8fc4b46df0f4dd36b87a28877fcf9ea2에 가 보겠습니다. 중간에 란 무엇입니까? 이것이 문제입니까? 선두에 d라고 쓰여져 있지 않기 때문에 「.」라고 하는 이름의 파일일까요. cat 해 보았지만 할 수 없습니다. 「.」라고 하는 이름의 파일을 만들 수 있는지 시험해 보았습니다만, 안 되었습니다. ll로 ... picoCTFCTF picoCTF 2018 what base is this? - Points: 200 먼저 nc 2018shell.picoctf.com 31711에 연결하여 분위기를 살펴 보겠습니다. 중간에 있는 2진수를 문자로 고치고 입력해 봅시다. 라는 문제인 것 같습니다. 을 사용합니다. 하지만, 30초 이내에 노력하지 않으면 안 되는 것 같기 때문에 서둘러 할 필요가 있습니다. 같은 상태입니다. 하지만 이 writeup을 쓰고 있으면 당연히 시간이 지나 버려, 캡쳐를 취하면서 하는 것... picoCTFCTF picoCTF 2018 quackme - Points: 200 main이라는 파일이었습니다. 만약을 위해 BZ에서 보겠습니다. ELF 파일이었습니다. 우선 움직여 보겠습니다. 일단 오버플로적인 이야기의 가능성도 있으므로 대량의 문자를 입력해 보겠습니다. IDA를 사용해 보겠습니다. 그 사이에 call 되고 있는 do_magic가 수상하기 때문에 안을 봐 봅니다. 루프가 있던 뒤에 분기가 있어 「You are winner」라든가 써 있으므로 여기에 갈 수... picoCTFCTF picoCTF 2018 leak-me - Points: 200 이 함수를 호출하면 좋을 것 같습니다. main() 함수 안에서 패스워드가 있으면 호출되는 것 같습니다. 그래서 우선 이름의 입력과 패스워드의 입력의 자리수를 초과해 보려고 합니다. 우선 이름에서 우선 패스워드에 넣어 보겠습니다. 42행에 name을 입력합니다. CTFman을 입력하면 다음과 같이 저장됩니다. 첫 문자 두 번째 문자 세 번째 문자 네 번째 문자 다섯 번째 문자 여섯 번째 문자... picoCTFCTF picoCTF 2018 hertz 2 - Points: 200 암호화된 문장을 해독하는 문제인 것 같습니다. 연결 대상에 액세스해 봅니다. 마지막으로 쓰여진 이것이 플래그라고 생각됩니다. picoCTF와 비교해 보면 암호문 평문 차이 음 - 규칙성이 없네요. 직전에 있는 「ixgu:」라고 하는 것은 「flag:」같기 때문에 이것도 비교해 보겠습니다. 암호문 평문 차이 규칙성을 찾을 수 없습니다. 그래서 전회와 같은 사이트를 사용해 보겠습니다. 마지막: ... picoCTFCTF picoCTF 2018 buffer overflow 1 - Points: 200 버퍼 오버플로우 문제인 것 같습니다. 먼저 소스와 프로그램을 다운로드합니다. 열심히 win()을 호출하여 flag.txt를 출력시키는 문제인 것 같습니다. 디렉토리를 확인해 봅니다. objdump하여 win() 위치를 확인합니다. 080485cb가 win()의 시작이라고 할 수 있었습니다. 그런데 이것을 어디에 넣으면 좋겠지요. 한 번 실행해 보겠습니다. 많이 입력했는데 0x76757473로... picoCTFCTF picoCTF 2018 blaise's cipher - Points: 200 Blaise는 누구입니까? 조사해 보면 블레즈 드 비쥬넬(Blaise de Vigenere)이라는 것. 비쥬넬 암호의 문제 같네요. 그럼 연결해 보겠습니다. 암호화된 문자열이 나왔습니다. 키가 무엇인지 모르겠지만 pohzCZK {g1gt3w3_n1pn3wd_ax3s7_maj_095glcih}라는 플래그 같네요. 우선 이것을 플래그라고 가정합니다. pohzCZK{g1gt3w3_n1pn3wd_a... picoCTFCTF picoCTF 2018 be-quick-or-be-dead-1 - Points: 200 링크가 2개 있기 때문에 우선은 this쪽에서. 또 다른 링크는 파일 다운로드였습니다. 확장자가 없었기 때문에 Bz에서 열어 보겠습니다. ELF (Linux 실행 파일)군요. 우선 우분투에서 움직여 보겠습니다. print_flag에 뭔가있을 것 같아 보겠습니다. decrypt_flag를 살펴 보겠습니다. 조금 길기 때문에 전부 올려지지 않습니다만, 루프하면서 xor로 복호하고 있는 것 같습니... picoCTFCTF picoCTF 2018 assembly-1 - Points: 200 asm1(0xcd)일 때 리턴은 무엇인가라는 문제입니다. 비슷한 문제가 이전에도있었습니다. 우선 다운로드해 봅니다. 문제처럼 어셈블러였습니다. 우선 전제로서 이하는 잊지 않도록. 인수는 ebp+0x8에 들어 있다 반환 값은 함수가 끝나면 eax 순서대로 따라갑시다. 9행째 에서 0xcd와 0xde를 비교합니다. 물론 다르게 0xcd<0xde입니다. 10행째 는 ">"일 때 점프하는 명령이므로... picoCTFCTF picoCTF 2018 Secret Agent - Points: 200 링크에 액세스해 봅니다. flag 버튼을 누르십시오. 사용자 에이전트가 나왔습니다. 지금 내 사용자 에이전트는 무엇입니까? 확인군으로 보겠습니다. 조금 전에 쓰여진 것들과 함께했습니다. 라고 하는 것은 이 이외의 무언가로 하면 flag를 받을 것 같습니다. 우선 주의사항에 쓰여진 Google로 해 보시겠습니까? F12→Network→Network conditions 에서 변경합니다. 이제 플... picoCTFCTF 이전 기사 보기
picoCTF 2019 flag_shop - Points: 300 소스를 살펴보겠습니다. 조금 길기 때문에 키모가되는 부분을 발췌합니다. 우선은 flag를 표시하는 처리의 곳. 소스를 보는 한 를 만족하면 flag가 표시될 것 같습니다. account_balance에 대해 알아보겠습니다. 정의 단계에서는 1100이 들어 있습니다. 행 42에서 account_balance의 값을 다시 쓰는 프로세스가 있으므로 여기에 어떻게 든 노력하는 문제 인 것 같습니다.... picoCTFCTF picoCTF 2019 asm3 - Points: 300 asm3(0xaeed09cb,0xb7acde91,0xb7facecd)일 때의 반환값(eax)을 구하는 문제입니다. 스택의 상태는 이렇습니까? 소스를 살펴보겠습니다. eax, ax, ah, al이 나왔기 때문에 한 번 표로 둡니다. 이것은 eax를 0으로 만드는 처리입니다. ah에 ebp+0xb를 대입한다. ebp+0xb는 무엇인가 하면 ebp+0xc가 인수 2이므로, 그 직전에 2자리수. 즉... picoCTFCTF picoCTF 2019 Irish-Name-Repo 1 - Points: 300 사이트에 액세스해 봅니다. 로그인하는 문제이므로 로그인 화면을 찾습니다. 아무것도 입력하지 않고 로그인 버튼을 누르십시오. login.php로 전환하여 "Login failed."라고 표시되었습니다. 소스를 살펴보겠습니다. 특히 이상한 곳은 없었습니다. SQL 주입을 시도합니다. 우선 끈적 끈적한 넣어 보겠습니다. 오, 됐어.... picoCTFCTF picoCTF 2019 asm2 - Points: 250 asm2(0xc,0x15)를 실행할 때 어떻게 됩니까? 라는 문제입니다. 어셈블러를 살펴보겠습니다. <+3>: 이것의 의미는 무엇입니까? 조금 모릅니다, 앞으로 esp 사용되지 않기 때문에 지장은 없을 것 같다. <+6>: 두번째 인수의 0x15를 eax에 대입한다. <+9>:ebp-0x4에 0x15를 대입한다. <+12>:eax에 첫번째 인수의 0xc를 대입한다. <+15>:ebp-0x8에... picoCTFCTF picoCTF 2019 like1000 - Points: 250 다운로드한 tar 파일을 해동해 본다. 이것은 만약 1.tar까지 반복하는 계의 녀석일까. 텍스트 파일을 살펴 보겠습니다. 무엇? 999.tar를 압축해 봅니다. 998.tar가 완료되었습니다. 역시 1.tar까지 노력하는 계열 같네요. 텍스트 파일의 내용은 동일했습니다. 우분투의 쉘을 사용하여 단번에 모두 해동해 보겠습니다. 이런 느낌입니까? 실행하면 왠지 609.tar에서 멈췄습니다. 어... picoCTFCTF picoCTF 2019 NewOverFlow-2 - Points: 250 아니 이 문제도 전까지 없었지요? 오버플로 공부하고 싶기 때문에 고맙습니다만. 소스를 봅니다. 조금 길다. main()에서 가볍게 보면 vuln()을 불러 종료. 불리지 않는 flag()가 있다. vuln()에서 main()으로 돌아갈 때 반환 대상을 flag()로 설정하면 되나요? win_fn2()와 win_fn() 필요? 뭔가 함정? 함정 모르겠지만, vuln()의 리턴 주소를 변경하는 ... picoCTFCTF picoCTF 2019 NewOverFlow-1 - Points: 200 어제까지 전혀 눈치채지 못했지만 200점의 문제가 아직 남아있었습니다. 새로운 추가? 소스를 살펴보겠습니다. picoCTF 2019 OverFlow 2 - Points: 250 이것과 같은 느낌으로 vuln()의 리턴 주소를 flag()의 선두로 해 주면 좋은 문제라고 생각합니다. 이번에는 인수가 없으므로 이전 문제보다 편안한 문제입니다. 우선은 flag()의 선두 주소를 조사합니다. fla... picoCTFCTF picoCTF 2019 WhitePages - Points: 250 첨부 파일을 열어보십시오. 공간 투성이. 반각 스페이스에서 검색해 보면 여러가지 스페이스가 사용되고 있는 것을 알 수 있다. 스페이스만의 프로그래밍 언어가 있었다고 생각해 조사해 본다. Whitespace - Wikipedia 이것이 느껴집니다. 그리고 확실히 web상에서 컴파일과 실행이 생겼다고 생각하므로 찾아 보겠습니다. Ideone.com 여기에서 실행해 보겠습니다. 다른 것 같습니다.... picoCTFCTF picoCTF 2019 slippery-shellcode - Points: 200 소스를 살펴보겠습니다. picoCTF 2019 handy-shellcode - Points: 50 이것과 비슷한 해결 방법입니다만, 33행째로 랜덤의 오프셋을 더하고 있기 때문에 최대로 256 어긋난다고 하는 것입니까. 256분 선두에 NOP를 넣어 두면 좋다고 하는 것입니까. NOP라면 아마 읽어 날려줄 것이다. 이번 실행 파일도 32bit입니다. shellcode를 찾습니다. Shellc... picoCTFCTF picoCTF 2019 la cifra de - Points: 200 nc로 연결해 봅니다. 이 암호문을 해독하면 된다는 것입니다. 이것이 picoCTF {XXXXXXXXXXXXX}라고 생각합니다. 조금 picoCTF보다 문자수가 많은 생각이 듭니다만. ROT13 등 시저 암호는 보았습니다만, 다른 것 같습니다. quipqiup - cryptoquip and cryptogram solver 여기서 해석해 보겠습니다. 전혀 그렇게 할 수 없었습니다. 어쩌면 비쥬... picoCTFCTF picoCTF 2019 Client-side-again - Points: 200 사이트를 방문해 봅니다. 로그인 화면이 있었습니다. 소스를 살펴보겠습니다. 입력한 패스워드를 10행째의 javascript가 무엇인가 판정을 해 정답인가 부정해인지를 판정하고 있는 것 같습니다. 우선 javascript를 성형해 보겠습니다. 꽤 엄격한 if 문이 있습니다. 웹 페이지를 저장하고 여러가지 해보려고 생각합니다. 29행에 alert를 넣어 checkpass를 표시해 보겠습니다. 입... picoCTFCTF picoCTF 2019 OverFlow 1 - Points: 150 소스를 살펴보겠습니다. flag()가 실행되면 flag의 내용이 표시될 것 같습니다. 그렇지만, flag()는 어디에서도 불려 있지 않습니다. 처리의 흐름으로서는 라는 느낌입니다. vuln()에서 main()으로 돌아가는 주소를 괴롭히고 flag()로 날리는 작전으로 좋을까. 즉 28행째의 vuln()이 끝났을 때에 「다음은 37행째예요」라고 하는 처리를 재기록해 「다음은 11행째예요」라고 ... picoCTFCTF picoCTF 2019 where are the robots - Points: 100 링크에 액세스해 봅니다. 소스를 살펴보겠습니다. wireshark에서 통신을 살펴 보겠습니다. 쿠키 등도 없을 것 같습니다. 문제 문장을 다시 읽어보십시오. 이마이치 잘 모르겠습니다. 팁을 살펴보겠습니다. 당신에게 로봇이라고 할까요? robots.txt? 방문하십시오. 방문하십시오. 할 수 있었다.... picoCTFCTF picoCTF 2019 logon - Points: 100 링크를 클릭해 봅니다. 로그인 화면입니다. 여기를 돌파하면 플래그를 받을 수 있겠지요. 다양한 버튼을 눌러보십시오. Sign In 버튼을 누르면/login으로 천이할 것인데/flag로 천이하고 있기 때문에, 뭔가 리디렉션하고 있는지 궁금하네요라는 인상. 그냥 https이므로 wireshark를 사용하여 패킷을 볼 수 없습니다. 라고 생각하면 문제 문장에 또 다른 URL이 쓰여져 있어 는 ht... picoCTFCTF picoCTF 2019 OverFlow 0 - Points: 100 소스를 살펴 보겠습니다. 문제의 제목대로 오버플로우시키는 문제입니다. 이것과 함께 문제처럼 보입니다. 셸에서 경로를 확인합니다. 플래그를 표시하는 프로세스를 확인합니다. 발신자를 확인하면 이었다. 이 전 풀었을 때도 상세를 잘 모르겠습니다만, 우선 오버플로우 시키면 됩니다. 여기 처리에서 128자 이상이 buf에 들어가면 오버플로가 발생합니다. input은 런타임에 인수로 전달할 수 있으므로... picoCTFCTF picoCTF 2019 handy-shellcode - Points: 50 이 문제를 풀기 전에 좀더 앞에 하나 날려버린 문제가 있었기 때문에, 그 다음 풀어요. 2Warm - Points: 50 10진수를 2진수로 변환하는 문제입니다. 그런데 원래의 문제로 돌아갑니다. 소스를 살펴 보겠습니다. 에서 노력하는 계열의 녀석입니다. 서버를 확인합니다. 아까를 열심히 flag.txt를 표시하는 사람입니다. 와 함께 해결 방법으로 할 수 있습니다. 실행 파일의 비트를 확인... picoCTFCTF picoCTF 2019 The Factory's Secret - Points: 1 2019 시작되었기 때문에, 이제부터는 이것을. 최초의 1점의 문제입니다만, 수수께끼다. 이게 뭐야? 우선 링크 클릭. 이게 뭐야? 우선 이것 할 수밖에 없는 것인가? 이게 뭐야? 수수께끼의 50점 문제같은 것이 나왔다. 1점 문제 해결하고 싶지만. 0x70을 아스키 코드에 다시 대답합니다. 그 후 영원히 영어가 이어져 전혀 의미를 모른다. 동기 0. 보통 쪽을 보면 아까의 문제가 있었던 것... picoCTFCTF picoCTF 2018 Ext Super Magic - Points: 250 수수께끼의 파일 시스템을 통과하기 때문에 알아보십시오. 그런 이야기입니까? FTK Imager에서 열어보세요. 파일 시스템을 판별할 수 없는 것 같습니다. 데이터도 선두당은 0뿐이네요. 한가운데를 보면 곳곳에 파일 이름 같은 것이 있으므로 어떻게든 열심히 마운트하고 이미지 파일의 내용을 확인한다는 이야기입니까. 덧붙여서 「pico」로 검색해도 히트하지 않았습니다. 서버에서 file 명령을 실... picoCTFCTF picoCTF 2018 Buttons - Points: 250 200포인트를 모두 마치고 250포인트 존에 들어갔습니다. 링크에 액세스하고 버튼을 누르는 것만? 의 간단한 문제입니다. 링크에 액세스해 봅니다. 솔직하게 버튼을 누르십시오. 버튼은 아니지만. 라고 생각하면서 링크(버튼?)을 눌러 봅니다. 액세스 실패의 문자와 함께 수수께끼의 80년대 포크송이 흘러 왔습니다. 수상한 것은 두 번째 링크의 페이지이므로이 페이지의 소스를 살펴 보겠습니다. but... picoCTFCTF picoCTF 2018 you can't see me - Points: 200 뭔가 잘 모르겠지만/problems/you-can-t-see-me_0_8fc4b46df0f4dd36b87a28877fcf9ea2에 가 보겠습니다. 중간에 란 무엇입니까? 이것이 문제입니까? 선두에 d라고 쓰여져 있지 않기 때문에 「.」라고 하는 이름의 파일일까요. cat 해 보았지만 할 수 없습니다. 「.」라고 하는 이름의 파일을 만들 수 있는지 시험해 보았습니다만, 안 되었습니다. ll로 ... picoCTFCTF picoCTF 2018 what base is this? - Points: 200 먼저 nc 2018shell.picoctf.com 31711에 연결하여 분위기를 살펴 보겠습니다. 중간에 있는 2진수를 문자로 고치고 입력해 봅시다. 라는 문제인 것 같습니다. 을 사용합니다. 하지만, 30초 이내에 노력하지 않으면 안 되는 것 같기 때문에 서둘러 할 필요가 있습니다. 같은 상태입니다. 하지만 이 writeup을 쓰고 있으면 당연히 시간이 지나 버려, 캡쳐를 취하면서 하는 것... picoCTFCTF picoCTF 2018 quackme - Points: 200 main이라는 파일이었습니다. 만약을 위해 BZ에서 보겠습니다. ELF 파일이었습니다. 우선 움직여 보겠습니다. 일단 오버플로적인 이야기의 가능성도 있으므로 대량의 문자를 입력해 보겠습니다. IDA를 사용해 보겠습니다. 그 사이에 call 되고 있는 do_magic가 수상하기 때문에 안을 봐 봅니다. 루프가 있던 뒤에 분기가 있어 「You are winner」라든가 써 있으므로 여기에 갈 수... picoCTFCTF picoCTF 2018 leak-me - Points: 200 이 함수를 호출하면 좋을 것 같습니다. main() 함수 안에서 패스워드가 있으면 호출되는 것 같습니다. 그래서 우선 이름의 입력과 패스워드의 입력의 자리수를 초과해 보려고 합니다. 우선 이름에서 우선 패스워드에 넣어 보겠습니다. 42행에 name을 입력합니다. CTFman을 입력하면 다음과 같이 저장됩니다. 첫 문자 두 번째 문자 세 번째 문자 네 번째 문자 다섯 번째 문자 여섯 번째 문자... picoCTFCTF picoCTF 2018 hertz 2 - Points: 200 암호화된 문장을 해독하는 문제인 것 같습니다. 연결 대상에 액세스해 봅니다. 마지막으로 쓰여진 이것이 플래그라고 생각됩니다. picoCTF와 비교해 보면 암호문 평문 차이 음 - 규칙성이 없네요. 직전에 있는 「ixgu:」라고 하는 것은 「flag:」같기 때문에 이것도 비교해 보겠습니다. 암호문 평문 차이 규칙성을 찾을 수 없습니다. 그래서 전회와 같은 사이트를 사용해 보겠습니다. 마지막: ... picoCTFCTF picoCTF 2018 buffer overflow 1 - Points: 200 버퍼 오버플로우 문제인 것 같습니다. 먼저 소스와 프로그램을 다운로드합니다. 열심히 win()을 호출하여 flag.txt를 출력시키는 문제인 것 같습니다. 디렉토리를 확인해 봅니다. objdump하여 win() 위치를 확인합니다. 080485cb가 win()의 시작이라고 할 수 있었습니다. 그런데 이것을 어디에 넣으면 좋겠지요. 한 번 실행해 보겠습니다. 많이 입력했는데 0x76757473로... picoCTFCTF picoCTF 2018 blaise's cipher - Points: 200 Blaise는 누구입니까? 조사해 보면 블레즈 드 비쥬넬(Blaise de Vigenere)이라는 것. 비쥬넬 암호의 문제 같네요. 그럼 연결해 보겠습니다. 암호화된 문자열이 나왔습니다. 키가 무엇인지 모르겠지만 pohzCZK {g1gt3w3_n1pn3wd_ax3s7_maj_095glcih}라는 플래그 같네요. 우선 이것을 플래그라고 가정합니다. pohzCZK{g1gt3w3_n1pn3wd_a... picoCTFCTF picoCTF 2018 be-quick-or-be-dead-1 - Points: 200 링크가 2개 있기 때문에 우선은 this쪽에서. 또 다른 링크는 파일 다운로드였습니다. 확장자가 없었기 때문에 Bz에서 열어 보겠습니다. ELF (Linux 실행 파일)군요. 우선 우분투에서 움직여 보겠습니다. print_flag에 뭔가있을 것 같아 보겠습니다. decrypt_flag를 살펴 보겠습니다. 조금 길기 때문에 전부 올려지지 않습니다만, 루프하면서 xor로 복호하고 있는 것 같습니... picoCTFCTF picoCTF 2018 assembly-1 - Points: 200 asm1(0xcd)일 때 리턴은 무엇인가라는 문제입니다. 비슷한 문제가 이전에도있었습니다. 우선 다운로드해 봅니다. 문제처럼 어셈블러였습니다. 우선 전제로서 이하는 잊지 않도록. 인수는 ebp+0x8에 들어 있다 반환 값은 함수가 끝나면 eax 순서대로 따라갑시다. 9행째 에서 0xcd와 0xde를 비교합니다. 물론 다르게 0xcd<0xde입니다. 10행째 는 ">"일 때 점프하는 명령이므로... picoCTFCTF picoCTF 2018 Secret Agent - Points: 200 링크에 액세스해 봅니다. flag 버튼을 누르십시오. 사용자 에이전트가 나왔습니다. 지금 내 사용자 에이전트는 무엇입니까? 확인군으로 보겠습니다. 조금 전에 쓰여진 것들과 함께했습니다. 라고 하는 것은 이 이외의 무언가로 하면 flag를 받을 것 같습니다. 우선 주의사항에 쓰여진 Google로 해 보시겠습니까? F12→Network→Network conditions 에서 변경합니다. 이제 플... picoCTFCTF 이전 기사 보기