본문 바로가기

728x90
반응형

CTF

(40)
[picoCTF] General Skills - flag_shop Description There's a flag shop selling stuff, can you buy a flag? Source Solve Integer Overflow 에 관한 문제다. int는 4byte 크기이다 (-2,147,483,648 ~ 2,147,483,647) Source Review #include #include int main() { setbuf(stdout, NULL); int con; con = 0; int account_balance = 1100; while(con == 0){ printf("Welcome to the flag exchange\n"); printf("We sell flags\n"); printf("\n1. Check Account Balance\n"); pri..
[picoCTF] PWCrack 1 ~5 PW Crack1 Description Can you crack the password to get the flag? Download the password checker here and you'll need the encrypted flag in the same directory too. Solve level1.py 파일을 열어보면 입력 패스워드가 보임 level1.py 실행후 확인한 패스워드를 입력하면 flag가 나옴 PW Crack2 Description Can you crack the password to get the flag? Download the password checker here and you'll need the encrypted flag in the same directory to..
[picoCTF] General Skills 개요 `22.04.17 picoCTF General Skills에 풀어본 거 정리 glitch cat Our flag printing service has started glitching! $ nc saturn.picoctf.net 65353 주어진 커맨드를 실행하면 다음과 같은 출력이 나옴 'picoCTF{gl17ch_m3_n07_' + chr(0x39) + chr(0x63) + chr(0x34) + chr(0x32) + chr(0x61) + chr(0x34) + chr(0x35) + chr(0x64) + '}' flag를 대놓고 주고 있진 않지만 python에서 출력하면 flag 나타탐 HashingJobApp If you want to hash with the best, beat this test!..
[pwn][pwnable.kr] : 파일 디스크립터 유닉스, 리눅스 시스템은 파일이다. 시스템에서 프로세스가 이 파일들을 접근할 때에 파일 디스크립터라는 개념을 이용한다. 파일 디스크립터는 0이 아닌 정수이며 0, 1, 2, 가 있으며 각각 표준 입력, 표준 출력, 표준 에러이다. 관련 문제로는 pwnable.kr의 fd이고 이 문제가 파일 디스크립터라는 개념을 이용하며 소스 코드는 다음과 같다. read 함수는 fd는 파일 디스크립터 ( 0,1,2) , buf는 파일을 읽어들일 버퍼, 32는 버퍼의 크기이다. 즉 fd가 0이 되게 만들어주면 표준 입력을 할 수 있다. atoi(argv [1]) - 0x1234를 보아 프로그램을 실행할 때 인자로 4660 (10진수 4660은 16진수 1234)를 입력하면 0이 된다. 인자로 4660을 입력하자 입력을 할..
[gdb] : Break Point 브레이크 포인트를 걸 때 위와 같이 브레이크 포인트가 걸렸을 때는 아직 화살표가 가리키는 라인은 실행되지 않는 상태 화살표가 가리키는 라인은 eip가 가리키고 있는 곳, eip는 "다음에 실행 될 위치"를 가리키고 있는 레지스터이기 때문 정리하자면, 105번 까지 실행이 된 상태이고 108번이 실행되기 전이므로 eax 값을 변경하게 되면 cmp 구문이 원래 의도된 것과 다르게 실행될 수 있음 레지스터 값을 변경할 때 그래서 예시로 108번 offset에 브레이크 포인트를 걸고 위와 같이 레지스터의 값을 변경하면 된다, (c는 continue 계속 실행) # change register value # break point with gdb 제 블로그의 내용이 도움이 되셨나요? 여러분의 공감과 댓글이 큰 힘이..
[N00bCTF][MISC] Welcome N00b World~! 문제어 주어지는 디스코드 채널과 연결한 뒤 채널의 상단에 보니 플래그가 숨겨져 있었음 Very Easy Crypto problem.txt 라는 암호화된 텍스트가 담겨진 파일을 제시하는데 해당 내용은 base85로 디코딩하면 복호화 됨 The Middle Age Crypto 문제에서 힌트를 '중세시대'라고 주고 있었으므로 구글링한 뒤 문제에서 제시하는 png 파일을 기반으로 복호화 해주는 사이트를 찾은 뒤 png 파일에서 제시하는 것에 매칭되는 그림을 입력값을 넣으면 플래그가 나옴 플래그 형식이 N00bCTF{result_value}라고 되있고 문제에서도 줄바꿈이 되있길래 '_'를 넣어서 풀어야하는 줄 알았지만 그냥 이어서 쓰면 정답 Compare php의 느슨한 비교..
[ctfLearn][Review] : Inj3ction Time 설명을 읽어보자면 UNION SQL Injection을 이용해 풀어야 하는 것을 힌트로 주고 있습니다. 링크로 들어가 봅시다. 입력을 받을 수 있는 폼 하나와 그 밑으로 어떤 데이터가 나와있습니다 입력 폼에 2를 입력해봅시다. 2를 입력하고 보니 GET 방식으로 전송이 요청되었고 밑의 데이터가 변경된 걸 확인할 수 있습니다. 앞서 언급했듯 UNION SQL Injection을 이용해야 하는 문제이므로 UNION SQL Injection을 시도하기 전 UNION SQL Injection을 어떻게 해야 되는지 정리해봅시다. # Summary ## UNION SQL INJECTION : 2개 이상의 쿼리를 요청하여 결과를 얻는 UNION 연산자를 이용하여 : 요청에 추가 쿼리를 삽입하여 정보를 얻어내는 공격 ..
[weCTF2020] : Build Up WeCTF Build up ctftime.org의 캘린더를 보다 weCTF라는 일정이 눈에 띄어서 들어가봤더니 Jeopardy 처럼 나오는 형식은 아니고github 링크로 연결되었습니다. README.md 를 읽다보니 docker-compose로 직접 빌드해서 쓰면 된다 나와있었기 이용해봤습니다. wectf repository : github.com/wectf/2020p wectf/2020p WeCTF 2020+ Source Code & Organizer's Writeup. Contribute to wectf/2020p development by creating an account on GitHub. github.com 위 링크에 들어가 Run Challenges Locally 항목을 보면 다음과 같이 ..

728x90
반응형